'istanbul' 未被识别为内部或外部命令

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

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

> instanbul cover myTests.js

如文档中所述,我得到:

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

我在Windows7下,npm安装没有返回错误。我在文档中看不到任何关于额外安装步骤的信息。

我错过了什么?

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

我看到的问题是当您将项目移动到不同的服务器时。需要在全球范围内重新安装伊斯坦布尔。这破坏了包管理的 npm 模型。实现此目的的另一种方法是:

npm install --save-dev istanbul

修改 package.json 个脚本条目:

scripts: {

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

然后调用它:

npm coverage

本地计算机的快捷方式也是设置环境路径以包含节点可执行文件:

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

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