我试图了解在这种情况下我做错了什么。我有一个Node.js项目,我的package.json
中包含以下内容 "scripts": {
"test": "mocha --recursive ./src/setup/*.js ./test/**/*.js"
},
"dependencies": {
"mocha": "^2.2.5"
}
当我跑'npm test' mocha测试正确运行:
$ npm test (successful run)
然而,当我尝试运行mocha命令时,我的package.json
就在那里$ mocha --recursive ./src/setup/*.js ./test/**/*.js"
此错误:
-sh: mocha: command not found
我没有全局安装mocha,我只是通过npm安装到这个特定的项目。
如果我在全局安装mocha,那么它可以工作。当我只是在当前目录的node_modules中安装了mocha时,为什么它不起作用,但是它使用' npm test'?
答案 0 :(得分:8)
npm脚本自动将mocha添加到PATH:
如果依赖于定义可执行脚本的模块(如测试套件),那么这些可执行文件将添加到PATH中以执行脚本。