You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Brownie导入0x合约报错:无法从Etherscan拉取合约、solc找不到依赖

Brownie下0x合约依赖导入报错解决方案

错误核心原因

solc编译器的允许访问目录未包含0x依赖包的存储路径,同时Brownie没有配置对应包名的导入重映射,无法识别@0x开头的导入路径。

解决步骤

  • 第一步:确认项目根目录已安装所有需要的0x依赖包,执行以下命令安装缺失包:
    npm install @0x/contracts-utils @0x/contracts-zero-ex
    如果用yarn则执行:
    yarn add @0x/contracts-utils @0x/contracts-zero-ex
  • 第二步:修改项目根目录下的brownie-config.yaml配置文件,添加solc的重映射规则和允许路径:
compiler:
  solc:
    # 配置导入重映射,将@0x开头的导入指向node_modules下的对应包
    remappings:
      - "@0x=node_modules/@0x"
    # 把node_modules加入solc的允许访问目录,解决跨目录访问报错
    allow_paths:
      - "."
      - "./node_modules"

如果你的node_modules目录不在项目根目录,把上面的./node_modules替换为node_modules的绝对路径即可。

  • 第三步:清理历史编译缓存,重新全量编译合约:
    brownie compile --all
  • 如果你是从区块链浏览器导入的合约,需要确认导入语句的路径和你配置的重映射规则匹配,无需手动修改合约内的导入路径。

内容的提问来源于stack exchange,提问作者Joshua Guessennd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 23:21:01