60 truffle compile后提示匹配不到solidity编译器版本是什么问题

请先 登录 后评论

最佳答案 2020-01-14 11:56

你好,这个问题是因为你环境中 Truffle 所使用的 Solidity 编译器版本和你合约代码所要求的编译器版本不一致导致的。

先查看 truffle 默认使用的 solidity 版本

truffle version

将显示当前默认的编译器版本

Truffle v5.1.6 (core: 5.1.6)
Solidity v0.5.12 (solc-js)
Node v12.9.0
Web3.js v1.2.1

再检查项目中编译器配置 配置在 truffle-config.js文件中,默认并没有 compilers 配置(见Truffle 配置文档)。

如果没有,则使用默认编译器版本。

修改编译器配置

因为你的合约是 0.5.12 版本要求,因此可以在 truffle-config.js 中定义 solc 编译器版本要求。

代码如下:

module.exports = { 
  compilers: {
    solc: {
      version: "0.5.12",
    }
  }
};
请先 登录 后评论

其它 2 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
Byzantine
请先 登录 后评论
  • 2 关注
  • 0 收藏,5637 浏览
  • 邓昇强 提出于 2020-01-05 15:09