摩卡运行与NPMtesting,但不正常的摩卡CLI命令

我试图了解在这种情况下我做错了什么。 在我的package.json中有一个Node.js项目

"scripts": { "test": "mocha --recursive ./src/setup/*.js ./test/**/*.js" }, "dependencies": { "mocha": "^2.2.5" } 

当我运行'npmtesting'时,摩卡testing正确运行:

 $ npm test (successful run) 

但是,当我尝试只运行我的package.json在那里的摩卡指令

 $ mocha --recursive ./src/setup/*.js ./test/**/*.js" 

这个错误与:

 -sh: mocha: command not found 

我没有摩卡全球安装,我只有通过npm安装它到这个特定的项目。

如果我安装摩卡全球然后它的作品。 为什么当我在当前目录的node_modules中只安装了mocha,而它却使用'npm test'呢?

npm脚本自动添加摩卡到path:

如果您依赖定义可执行脚本的模块(如testing套件),那么这些可执行文件将被添加到PATH中以执行脚本。

https://docs.npmjs.com/misc/scripts#path