我一直认为这个npm test命令只会启动我在package.json内部编写的scripts: { test: ...}内容.但是当它不起作用时,我有这个奇怪的错误.
所以,我有这个配置 package.json
"scripts": {
"start": "node index.js",
"test": "mocha tests/spec.js"
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行测试时,我键入npm test终端并出现此错误:
module.js:340
throw err;
^
Error: Cannot find module 'commander'
Run Code Online (Sandbox Code Playgroud)
但是当我打字时,一切都很好mocha tests/spec.js.任何想法为什么会这样?
更新:
我试图安装指挥官,我有一个错误找不到模块'glob'.安装后glob我有
错误:找不到模块'../'**
但实际上问题是为什么我有这些错误,为什么运行时一切正常mocha tests/spec.js?
Sam*_*kes 23
您可能安装了两个版本的mocha:一个是global(npm install -g mocha),一个是本地的,看起来很糟糕.
当您运行脚本时npm,或者使用npm run-script <name>或定义的快捷方式,npm test或者npm start当前包目录的bin目录位于路径的前面.对于您的软件包,它可能./node_modules/.bin/包含指向软件包mocha可执行脚本的链接.
您可以通过删除本地摩卡并使用--save-dev重新安装它来解决此问题:
npm install -g mocha
这应该会让你获得一个工作的mocha本地副本及其所有依赖项(指挥官等).
| 归档时间: |
|
| 查看次数: |
44606 次 |
| 最近记录: |