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

邓昇强 邓昇强 提出于 2020-01-05 15:09 7935 浏览

0 条评论 60 学分

最佳答案

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",
    }
  }
};
0 条评论
七哥
七哥 独立开发者

擅长:Defi · 采纳率 55% · 回答于 2020-01-09 22:56

其它 2 个回答

Tiny熊 2020-01-06 20:35

擅长:智能合约,以太坊

feng 2020-01-07 12:53

写回答

你需要登录后才可以回答问题,登录