Brownie compile ValueError: Invalid NPM block with OpenZeppelin
Brownie compile ValueError: Invalid NPM block with OpenZeppelin
***** 我的 .sol 文件的顶行
// SPDX 许可证标识符:MIT
实用性 ^0.8.0;
导入“@openzeppelin/contracts/token/ERC721/ERC721.sol”;
合约 ParcelAsset 是 ERC721 {
******命令行VScode
布朗尼编译 contracts\ParcelAsset.sol
我收到这个错误。
ValueError:'>=0.6.0 <0.8.0 import "@openzeppelin/contracts/token/ERC721/ERC721.sol"' 中无效的 NPM 块:'import'
*********** 我的布朗尼片段-config.yaml
依赖项:
- smartcontractkit/chainlink-brownie-contracts@1.1.1
- OpenZeppelin/openzeppelin-contracts@3.4.0
编译器:
解决方案:
重新映射:
- '@chainlink=smartcontractkit/chainlink-brownie-contracts@1.1.1'
- '@openzeppelin=OpenZeppelin/openzeppelin-contracts@3.4.0'
我试过了
npm 安装@openzeppelin/contracts
并将 solidity 更新为 0.8.0
有人知道我做错了什么吗?
我解决了这个问题:npm install @chainlink/contracts --save
并在 yaml 文件中执行:
我个人没有费心导入 openzeppelin,因为所有 safemath 功能(如果这是您要导入的)已经在 solidity 0.8.0 中实现,所以如果您使用的是 solidity 0.8.0,则 safemath 库是已过时
***** 我的 .sol 文件的顶行 // SPDX 许可证标识符:MIT 实用性 ^0.8.0;
导入“@openzeppelin/contracts/token/ERC721/ERC721.sol”;
合约 ParcelAsset 是 ERC721 {
******命令行VScode 布朗尼编译 contracts\ParcelAsset.sol
我收到这个错误。 ValueError:'>=0.6.0 <0.8.0 import "@openzeppelin/contracts/token/ERC721/ERC721.sol"' 中无效的 NPM 块:'import'
*********** 我的布朗尼片段-config.yaml 依赖项:
- smartcontractkit/chainlink-brownie-contracts@1.1.1
- OpenZeppelin/openzeppelin-contracts@3.4.0
编译器:
解决方案:
重新映射:
- '@chainlink=smartcontractkit/chainlink-brownie-contracts@1.1.1'
- '@openzeppelin=OpenZeppelin/openzeppelin-contracts@3.4.0'
我试过了 npm 安装@openzeppelin/contracts 并将 solidity 更新为 0.8.0
有人知道我做错了什么吗?
我解决了这个问题:npm install @chainlink/contracts --save
并在 yaml 文件中执行:
我个人没有费心导入 openzeppelin,因为所有 safemath 功能(如果这是您要导入的)已经在 solidity 0.8.0 中实现,所以如果您使用的是 solidity 0.8.0,则 safemath 库是已过时