`erc1155` 的任何版本的`@openzeppelin/contracts` 使用 sol 0.5.0

Is any version of `@openzeppelin/contracts` for `erc1155` use sol 0.5.0

我安装了 npm install @openzeppelin/contracts --save-dev 以使用令牌 erc1155,我的项目 运行 在所有智能合约的 0.5.0 版本上 erc1155 使用 0.8.0 和我收到此错误 Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity ^0.8.0". erc1155@openzeppelin/contracts --save-dev 版本是否使用 sol 0.5.0?

在 openzeppelin github 存储库中,erc1155 是从 3.1.0 版合并而来的。您可以通过 运行 npm i @openzeppelin/contracts@3.1.0 --save-dev 获取该特定包。
至于编译器兼容性,你可以在 truffle-config.js 中调整版本。应该在

compilers: {
    solc: {
      version: "x.x.x"
    }
}