我使用npm安装了zeppelin-solidity包,以使用erc-721合同。
但问题是,当我使用truffle编译时,它给出了以下错误:
/Users/me/dev/myfolder/erc721/node_modules/zeppelin-solidity/contracts/token/ERC721/ERC721Token.sol:1:1: ParserError: Source file requires different compiler version (current compiler is 0.5.16+commit.9c3226ce.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.4.24;
^----------------------^
Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity ^0.4.24".
Please update your truffle config or pragma statement(s).
(See https://truffleframework.com/docs/truffle/reference/configuration#compiler-configuration for information on
configuring Truffle to use a specific solc compiler version.)编译失败。请参见上面的。
我看到的一些答案建议将编译指示提高到0.5,但如何在包含的文件中更改版本?
另外,如果这个契约很旧,我是否应该使用它,或者是否有更好的erc721实现可用?
更新:我已经尝试更改solc编译器,如下所示,但错误仍然存在:
compilers: {
solc: {
version: "^0.4.24",
//parser: "solcjs",
optimizer: {
enabled: true,
runs: 200
}
}
}发布于 2020-04-30 14:45:36
编写一个名为truffle.js的文件,如下所示:
module.exports = {
// Configure your compilers
compilers: {
solc: {
version: ">=0.4.24", // Fetch exact version from solc-bin (default: truffle's version)
}
},
};并将其放在项目根目录下。就这样。
了解更多关于松露配置的信息:https://www.trufflesuite.com/docs/truffle/reference/configuration
https://stackoverflow.com/questions/61510469
复制相似问题