VS Code中运行Hardhat报Node版本不支持、模块缺失错误如何解决
Hardhat运行报错排查解决方案
问题1:Node.js版本不兼容处理
- 打开VS Code终端,执行
node -v查看当前Node.js版本 - Hardhat仅对部分长期支持(LTS)版本做了兼容适配,优先选择16.x、18.x、20.x这类官方维护的偶数LTS版本安装使用,避开奇数号的尝鲜版本、过新的未稳定版本以及停止维护的老旧版本
- 版本不符合要求时,卸载当前Node.js后安装对应兼容版本,安装完成后重启VS Code终端,重新执行
node -v确认版本切换成功,避免环境变量缓存导致版本识别异常
问题2:Cannot find module '@nomiclabs/hardhat-waffle' 报错处理
该报错的核心原因是hardhat.config.js配置文件中引用了waffle插件,但项目本地依赖中没有安装对应包,按以下步骤修复:
- 先打开项目根目录下的
hardhat.config.js文件,确认文件头部是否存在require("@nomiclabs/hardhat-waffle")的引用语句 - 如果项目确实需要使用waffle插件做测试,在项目根目录(即
D:\3.1\dppa路径)的终端执行对应包管理工具的安装命令:
使用npm时执行:
使用yarn时执行:npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethersyarn add --dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers注意:禁止加
-g参数全局安装上述插件,Hardhat仅会读取项目本地node_modules目录下的依赖,全局安装无法解决该报错 - 如果之前已经执行过安装命令仍报错,先删除项目根目录下的
node_modules文件夹、对应锁文件(npm对应package-lock.json、yarn对应yarn.lock、pnpm对应pnpm-lock.yaml),先执行npm install(或对应包管理工具的全量安装命令)安装完所有基础依赖后,再执行上述waffle插件的安装命令 - 如果项目本身不需要使用waffle插件,只是配置文件残留了无效引用,直接删除
hardhat.config.js中require("@nomiclabs/hardhat-waffle")对应的代码行即可,无需安装依赖
验证修复结果
上述操作完成后,在终端执行npx hardhat --version,如果可以正常输出版本号、没有版本兼容提示和模块缺失报错,即代表环境修复完成,可以正常执行Hardhat相关任务。
内容的提问来源于stack exchange,提问作者Decentralized Developer
相关产品推荐
相关产品推荐

