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

部署智能合约时遇TypeError: (0 , ethers_1.getAddress) is not a function错误求助

解决部署智能合约时的TypeError: (0 , ethers_1.getAddress) is not a function错误

这个错误的核心原因是依赖版本冲突:你安装的@nomicfoundation/hardhat-toolbox@3.0.0默认依赖ethers v6版本,但项目里手动指定了ethers@5.5.0,同时混用了hardhat-deploy-ethers,导致ethers的API调用出现不兼容——getAddress函数在ethers v5中属于ethers.utils模块,而v6是直接从ethers包导出,版本不匹配就会触发找不到函数的错误。

下面提供两种可行的解决办法:

办法一:统一升级到ethers v6

  1. 修改package.json的依赖配置:
"devDependencies": {
    "@nomicfoundation/hardhat-toolbox": "^3.0.0",
    "hardhat": "^2.15.0"
  },
  "dependencies": {
    "@nomiclabs/hardhat-ethers": "npm:hardhat-deploy-ethers@^0.4.0", // 升级到适配v6的版本
    "chai": "^4.3.7",
    "dotenv": "^16.2.0",
    "ethers": "^6.0.0" // 升级到ethers v6
  }

注意:移除@ethersproject/contracts,因为ethers v6已包含合约相关功能,无需单独安装。

  1. 删除项目根目录的node_modules文件夹和package-lock.json(或yarn.lock),重新安装依赖:
npm install
# 或
yarn install
  1. (可选)调整deploy.js脚本:ethers v6中contract.deployed()已被替换为contract.waitForDeployment(),如果后续取消注释该代码,需要修改为:
await contract.waitForDeployment();

办法二:降级hardhat-toolbox适配ethers v5

如果不想升级ethers版本,可将hardhat-toolbox降级到适配v5的版本:

  1. 修改package.json的devDependencies:
"devDependencies": {
    "@nomicfoundation/hardhat-toolbox": "^2.0.0", // 降级到适配ethers v5的v2版本
    "hardhat": "^2.15.0"
  }
  1. 删除node_modules和锁文件,重新安装依赖:
npm install
# 或
yarn install

两种办法都能解决版本冲突问题,可根据项目需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 12:02:38