5 Hardhat编译错误

原来的hardhat.config里面配置的编译器版本默认是0.8.17 修改为其它版本的编译器后,例如0.8.7。编译有从node_modules/@openzeppelin导入资源的合约就会报出“File outside of allowed directories.”的错误。 要怎么配置一下呢?

npx hardhat compile ParserError: Source "node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol" not found: File outside of allowed directories. --> contracts/UAI.sol:4:1: 4 import "../node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol";

Error HH600: Compilation failed

合约SOL代码中:

import "../node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol";

把编译器调回0.8.17就不报错。奇了怪了。求大神解答。

请先 登录 后评论

最佳答案 2022-10-24 17:28

把 import 里的 "../node_modules" 去掉试试。

一般都没有这个部分。

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,2391 浏览
  • Wei 提出于 2022-10-23 17:26