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

Hardhat项目中如何修改指定依赖的ethers版本至5.7.2?

解决Hardhat项目Ethers版本冲突问题

问题根源

你当前使用的@nomicfoundation/hardhat-toolbox@3.0.0是专门适配Ethers v6系列的工具包,它的子依赖(@nomicfoundation/hardhat-chai-matchers@2.0.1、@nomicfoundation/hardhat-ethers@3.0.4等)都明确依赖Ethers v6,直接安装Ethers v5会触发版本冲突。

可行解决方案

方案一:降级Hardhat Toolbox到适配Ethers v5的版本

这是最稳妥的方式,v2版本的Hardhat Toolbox原生支持Ethers v5:

  1. 卸载当前的v3版本Toolbox:
    npm uninstall @nomicfoundation/hardhat-toolbox
    
  2. 安装适配Ethers v5的v2版本Toolbox:
    npm install @nomicfoundation/hardhat-toolbox@2 --save-dev
    
  3. 安装指定版本的Ethers:
    npm install ethers@5.7.2 --save-dev
    

执行完成后,Toolbox的所有子依赖(包括hardhat-chai-matchers、hardhat-ethers等)都会自动切换到适配Ethers v5的版本,不会再出现冲突。

方案二:使用npm overrides强制指定版本(不推荐)

如果不想降级Toolbox,可通过npm的overrides字段强制指定版本,但注意:部分依赖(如@typechain/ethers-v6)是为Ethers v6设计的,强制使用v5可能导致代码运行报错:

  1. 在项目的package.json中添加以下配置:
    "overrides": {
      "ethers": "5.7.2",
      "@nomicfoundation/hardhat-chai-matchers": {
        "ethers": "5.7.2"
      },
      "@nomicfoundation/hardhat-ethers": {
        "ethers": "5.7.2"
      },
      "@typechain/hardhat": {
        "ethers": "5.7.2"
      }
    }
    
    注:@typechain/ethers-v6是为Ethers v6定制的,强制用v5大概率会出问题,建议替换为@typechain/ethers-v5并安装对应版本
  2. 执行安装命令:
    npm install
    

验证结果

执行npm ls ethers检查依赖树,确认目标包的Ethers版本已切换为5.7.2即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:08:14