2

我正在尝试编译一份合同,以便我可以启动巧克力蛋糕控制台,但我不断收到我尝试导入的合同的错误。

ParserError: Source "@openzeppelin/contracts/token/ERC1155/IERC1155.sol" not found: File not found.
 
--> contracts/DutchAuction.sol:3:1:

  |
3 | import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`

我将如何解决这个问题?非常感激!

4

2 回答 2

2

导入包时,根据 brownie 文档,您首先必须安装包。您可以从以下位置安装它们:

最常见的方法之一是直接从 github 版本安装。为此,您必须更新您的brownie-config.yaml(或者如果您还没有,则制作此文件)

然后,您必须将 github 存储库添加为具有以下结构的依赖项:

REPO_OWNER/REPO_NAME@RELEASE_VERSION

如果要使用@语法,然后将其添加到重新映射中,如下所示:

dependencies:
  - OpenZeppelin/openzeppelin-contracts@4.3.2
compiler:
  solc:
    remappings:
      - '@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.3.2'

这个例子应该适用于这个特定的用例,如果你把它弹出到你的brownie-config.yaml

于 2021-11-25T00:42:20.183 回答
0

我为同样的问题苦苦挣扎了好几天。我意识到我的错误:配置文件被命名为brownie_config.yaml带下划线)而不是brownie-config.yaml带破折号

于 2022-02-08T00:14:24.317 回答