“伊斯坦布尔”不被视为内部或外部命令

我刚刚添加了istanbultesting覆盖模块到我的node.js应用程序,但是当我运行(从命令提示符):

> instanbul cover myTests.js 

正如文档中提到的,我得到:

 'istanbul' is not recognized as an internal or external command 

我在Windows 7下.npm安装没有返回错误。 我没有看到有关额外安装步骤的文档。

我错过了什么?

要使模块可以从任何地方运行,您需要全局安装(使用-g选项)。

我看到的问题是当您将项目移动到不同的服务器。 伊斯坦布尔将需要在全球再次安装。 这打败了包pipe理的npm模式。 另一个实现这个目标的方法是:

 npm install --save-dev istanbul 

修改package.json脚本条目:

 scripts: { "coverage": "node ./node_modules/.bin/istanbul ...." } 

然后用下面的方法调用

 npm coverage 

本地机器的快捷方式也是将您的环境path设置为包含节点可执行文件:

export PATH = $ PATH:./ node_modules / .bin

在这种情况下,由于path检查,安装到您的软件包的任何可执行文件都将自动在命令行上提供。