我该如何解决松露编译错误?

时间:2019-02-21 11:05:27

标签: ethereum truffle remix

源文件要求使用不同的编译器版本(当前编译器为0.5.0 + commit.1d4f565a.Emscripten.clang-请注意,夜间构建严格认为小于发行版本 实用性实测度^ 0.4.23; ^ ---------------------- ^ SyntaxError:源文件需要不同的编译器版本(当前编译器为0.5.0 + commit.1d4f565a.Emscripten.clang-请注意,夜间构建严格认为小于发行版本 语用强度^ 0.5.4; ^ --------------------- ^ 编译失败。往上看。 松露v5.0.4(核心:5.0.4) 节点v8.12.0

3 个答案:

答案 0 :(得分:0)

您安装的松露不支持Solidity编译器0.5.4,您可以尝试使用0.4.23或更高版本的编译器作为pragma solidity >=0.4.23来解决它,也可以升级松露支持的编译器,如这个link

答案 1 :(得分:0)

您应该在truffle.js文件中声明Solidity编译器版本。

  compilers: {
    solc: {
      version: '^0.4.23'
    }
  }

答案 2 :(得分:0)

有些事情你可以做,

  1. 在 VS Code 中打开文件。右键单击 .sol 文件,然后单击“solidity:download compiler”。然后选择与您的合约中使用的 Solidity 版本匹配的版本(即写在 .sol 文件的顶部)。然后再次右键单击 .sol 文件并选择“solidity:将默认工作区编译器更改为远程、本地...”。从中选择“localNodeModule”

  2. 再次右键单击 .sol 文件并选择“solidity:将默认工作区编译器更改为远程、本地...”。从中选择“远程”