执行truffle test报错找不到chai.as.promised模块,重装后仍未解决
truffle test 提示找不到chai.as.promised模块的解决方案
修正测试文件的模块引入语法
报错信息中的chai.as.promised为错误写法,正确的模块名为chai-as-promised,90%以上的该类报错都是引入时误把横杠写为点导致的。请检查测试文件开头的引入逻辑:错误写法:
const chaiAsPromised = require('chai.as.promised')正确写法:
const chai = require('chai') const chaiAsPromised = require('chai-as-promised') // 引入后必须挂载到chai实例才能正常使用 chai.use(chaiAsPromised)确认依赖安装路径正确
不要全局安装chai相关依赖,必须在truffle项目根目录(包含truffle-config.js的目录)执行npm i chai chai-as-promised,安装完成后检查根目录package.json的devDependencies或dependencies字段,确认同时存在chai和chai-as-promised两个依赖条目。清除缓存后重装依赖
- 删除项目根目录下的
node_modules文件夹和package-lock.json文件 - 执行
npm cache clean --force清除npm本地缓存 - 执行
npm install重新安装所有项目依赖 - 再运行
truffle test验证
- 删除项目根目录下的
处理版本兼容问题
若使用低于5.0版本的truffle,可将chai-as-promised降级到兼容的7.1.1版本,执行命令:npm i chai-as-promised@7.1.1 --save-dev
安装完成后重新运行测试即可。
内容的提问来源于stack exchange,提问作者Davell Durant
相关产品推荐
相关产品推荐

