首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在块菌中设置特定的编译器版本,但仍然得到“源文件需要不同的编译器版本”错误

在块菌中设置特定的编译器版本,但仍然得到“源文件需要不同的编译器版本”错误
EN

Ethereum用户
提问于 2021-07-04 07:29:32
回答 2查看 3K关注 0票数 1

我在第一行中得到了“源文件需要不同的编译器版本(当前编译器是0.8.6+commit.11564f7e.Emscripten.clang)”:

代码语言:javascript
复制
pragma solidity ^0.7.0;

在块菌-config.js中,我设置了一个特定的编译器版本:

代码语言:javascript
复制
  compilers: {
    solc: {
      version: "0.7.6",    // Fetch exact version from solc-bin (default: truffle's version)
      // docker: true,        // Use "0.5.1" you've installed locally with docker (default: false)
      // settings: {          // See the solidity docs for advice about optimization and evmVersion
      //  optimizer: {
      //    enabled: false,
      //    runs: 200
      //  },
      //  evmVersion: "byzantium"
      // }
    }
  },

但我仍然得到相同的错误(在0.8.6+)。我该怎么解决这个问题?

谢谢

EN

回答 2

Ethereum用户

回答已采纳

发布于 2021-07-09 22:34:58

我最近犯了这个错误。

之所以发生这种情况,是因为在VS代码工作区上配置的编译器版本与您想要的版本不同。

要解决这个问题,只需右键单击错误并选择选项

Solidity: Change workspace compiler version (Remote)

它将打开可用版本的下拉列表,您只需选择0.7.6。

您可以查看关于Solidity扩展存储库https://github.com/juanfranblanco/vscode-solidity/的信息。

票数 3
EN

Ethereum用户

发布于 2021-07-05 21:17:39

如果您正在导入其他合同,那么这些合同也需要支持您在主合同中使用的相同的实用可靠版本。

另一件事是块菌的问题,您使用的solc版本与运行compile命令时下载的版本不同。这以前曾发生过,但可能是问题所在。要修复它,您需要进入松露node_modules包,并在那里安装solc并提供所需的版本。或者你可以从头开始在全球范围内重新安装松露,看看它是否修复了自己。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/102942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档