Truffle

無法編譯導入具有不同編譯指示版本的 .sol 的 Truffle 項目

  • December 23, 2021

我有一個契約pragma solidity 0.6.12版本,它導入了幾個0.6.12版本的契約和一個pragma solidity 0.8.0.

我的truffle-config

compilers: {
   solc: {
      version: "^0.6.12 <=0.8.0",
       },
     },

此配置在編譯時會引發錯誤:

Error: Truffle is currently using solc ^0.6.12 <=0.8.0, but one or more of your contracts specify "pragma solidity ^0.7.0"

如何正確導入具有多個版本導入的多個契約?

進入您的並使用版本truffle-config.js修改行version

...
// Configure your compilers
 compilers: {
   solc: {
     version: "^0.6.12",    // Fetch exact version from solc-bin (default: truffle's version)
   }
 },
...

對於您的契約,您是否使用了 ^0.6.12?這應該允許您與您打算使用的版本之上的任何其他版本進行互動。

引用自:https://ethereum.stackexchange.com/questions/112118