我一直认为npm test
命令刚刚启动了我会写的package.json里面的脚本:{test:...} section。但是当它不起作用时,我有这个奇怪的错误。“npm test”如何工作?
所以,我有这一块配置的的package.json
"scripts": {
"start": "node index.js",
"test": "mocha tests/spec.js"
}
当我尝试运行测试中,我输入端子npm test
和过这样的错误:
module.js:340
throw err;
^
Error: Cannot find module 'commander'
但一切当我输入mocha tests/spec.js
时是OK。任何想法是为什么?
UPDATE:
我试图安装指挥官,我有一个错误找不到模块“水珠”。安装水珠后,我有错误:无法找到模块“../”
但实际上,问题是,为什么我有这些错误,为什么运行mocha tests/spec.js
当一切OK?
指挥官在你的文件系统中安装了哪里? – rninty
它确实调用了package.json的scripts.test属性中指定的命令,但它也设置了某些环境变量,例如PATH,因此您可以引用仅存在于node_modules目录中但不是全局安装的命令。 – Brandon
请确保将commander添加到您的package.json和'npm install'中::) –