在Windows 10上为nodejs项目运行test 使用package.json中的行:
"test": "nodemon --exec 'mocha -R min'"
我明白了:
> nodemon --exec 'mocha -R min'
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `'mocha -R min'`
''mocha' is not recognized as an internal or external command,
operable program or batch file.
[nodemon] app crashed - waiting for file changes before starting...
rs
[nodemon] starting `'mocha -R min'`
''mocha' is not recognized as an internal or external command,
operable program or batch file.
[nodemon] app crashed - waiting for file changes before starting...
答案 0 :(得分:27)
这条线很好用:
"test": "nodemon --exec \"mocha -R min\""
package.json中的
答案 1 :(得分:4)
如果您使用的是Windows操作系统,请不要使用单引号
“测试”:“ nodemon --exec'mocha -R min'”
使用此
“测试”:“ nodemon --exec摩卡-R分钟”
答案 2 :(得分:1)
我不是Windows内核,也不是任何..专家。就我而言,测试脚本不断出错,并显示消息 npm未被识别为内部或外部命令。
a)当我拥有
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec 'npm test'"
它运行了几次并停止并且错误开始出现,所以当我切换到
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""
我仍然不断收到相同的npm错误,无法识别... 而且无论我发出Ctrl c多少次,nodemon都不会停止。
我确实采取了以下步骤:重新启动笔记本电脑,卸载并重新安装了nodeJs,更新了“控制面板”-“用户帐户”-“环境”变量中的PATH变量。
这使我相信在某个地方或某种程度上(nodemon或mocha不确定)挂了什么,所以即使在我进行了修改以转义并使用双引号后,如
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""
我仍然不断遇到相同的错误。
b)然后,我将密钥的名称从test-watch更改为test-new
"test": "mocha **/*.test.js",
"test-new": "nodemon --exec \"npm test\""
然后跑 npm运行新测试 并且每个测试运行正常。
去看看...
因此,我想我将坚持在不同项目之间保持唯一的测试脚本名称。我没有其他解释。。。。请这样做...
答案 3 :(得分:0)
另外,如果您使用 Windows 并使用 git-bash ,请检查 NODE_ENV =开发。出于某种原因,它默认为生产。
$ echo $NODE_ENV
使用--production标志(或当NODE_ENV环境变量设置为production时),npm将不会安装“devDependencies”中列出的模块
您可以通过检查node_modules /文件夹来验证这一点,看看是否安装了mocha。如果不是:
$ npm install --only=dev
还:
$ NODE_ENV=development
$ npm i -D mocha
会做到这一点。
答案 4 :(得分:0)
"test": "mocha **/*.test.js",
"test-watch": "nodemon --exec \"npm test\""
运行
npm run test-watch
答案 5 :(得分:0)
在package.json
脚本内部,您需要在"test"
脚本之后添加一个新脚本。我们可以创建一个自定义脚本并将其命名为"test-watch"
,并且"test-watch"
的值为"nodemon --exec \"npm test\""
(即"test-watch": "nodemon --exec \"npm test\""
)。在此步骤之后,我们可以使用npm run test-watch
终端中的命令。
答案 6 :(得分:0)
另一种方法是将mocha路径添加到环境变量,然后重新启动bash 在编辑器上,导航到mocha的bin文件夹,然后将两个路径都添加到系统环境。 已经说明的所有脚本选项都可以使用这种方法
"scripts": {
"test": "nodemon --exec \"mocha -R min\""
}
或
"scripts": {
"test": "nodemon --exec 'mocha -R min'"
}
或
"scripts": {
"test": "nodemon --exec mocha -R min"
}
package.json文件中的是正确的依赖项定义
我希望这有助于解决问题。
答案 7 :(得分:0)
在全球范围内安装摩卡,然后它将工作
npm install -g mocha --save-dev
答案 8 :(得分:0)
使用“npm run test”,命令应该是“nodemon --exec "mocha -R min"”。对我来说,当使用上一个命令而不是 npm test & "nodemon --exec 'mocha -R min'" 时它起作用了