错误:Truffle目前正在使用solc 0.5.16,但你的一个或多个合约指定了“pragma solidity ^0.8.0”
这是一张错误截图-https://gyazo.com/2f5ea2f50cc1d4ef5eea2f21d0e04fe7
我所有的合约都使用^0.8.0的pragma。我的truffle-config也使用相同的版本,你可以在这里看到- https://gyazo.com/1ec8b28ca48902c091004f8659cf678d
请帮忙解决。非常感谢。
错误:Truffle目前正在使用solc 0.5.16,但你的一个或多个合约指定了“pragma solidity ^0.8.0”
这是一张错误截图-https://gyazo.com/2f5ea2f50cc1d4ef5eea2f21d0e04fe7
我所有的合约都使用^0.8.0的pragma。我的truffle-config也使用相同的版本,你可以在这里看到- https://gyazo.com/1ec8b28ca48902c091004f8659cf678d
请帮忙解决。非常感谢。
省略掉 "^"。不是 version:"^0.8.0"
。
compilers: {
solc: {
version: "0.8.0"
}
}
请在truffle-config.js文件中取消此行的注释:
compilers: {
solc: {
version: "0.8.10", // <-- this one
.
.
...
@Yilmaz是正确的,版本需要修改。将truffle-config.js文件更改为正确的编译器版本。确保您设置了一个版本。我遇到了相同的错误,因为版本没有设置。如果您的文件看起来像这样:
compilers: {
solc: {
// version: "0.5.1", // 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"
// }
}
compilers: {
solc: {
version: "^0.8.0"
}
compilers: {
solc: {
version: "0.8.0"
version:"0.8.0"
中不使用"^"符号。}
}
将编译器选项放置在下面的module.exports;
中,就像下面这样。
module.exports = {
compilers: {
solc: {
version: "0.8.6"
}
},
}