Node.js项目不再有效。拥有node.js 7.10.x npm 4.2.1
正在运作的项目不再有效。我卸载了node.js,删除了npm-cache,重新安装了新的。删除了node_modules目录,在项目的package.json和npm start xxxx等上运行npm install。无论我运行什么项目,错误都保持不变,如下所示。在Linux Ubuntu上安装的相同项目工作正常。
不知道为什么这些项目不再有效。以下错误与我测试的每个节点项目一致。
任何帮助将不胜感激。提前谢谢。
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "test"
npm ERR! node v7.10.1
npm ERR! npm v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! muber@1.0.0 test: `NODE_ENV=test nodemon --exec 'mocha --recursive -R min'`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the muber@1.0.0 test script 'NODE_ENV=test nodemon --exec 'mocha --recursive -R min''.
npm ERR! Make sure you have the latest version of node.js and npm installed.
答案 0 :(得分:0)
我想我知道如果它适用于Linux而不是Windows机器,问题是什么。 Windows无法运行CLI脚本;它需要不同的语法。
要解决此问题,您只需执行npm install --save cross-env
,然后在package.json
文件中,将cross-env
添加到脚本声明的开头:
即:
"scripts": {
"start": "NODE_ENV=test nodemon --exec 'mocha --recursive -R min'"
},
将成为:
"scripts": {
"start": "cross-env NODE_ENV=test nodemon --exec 'mocha --recursive -R min'"
},
那应该解决它。
要在Windows上修复它,您必须将其更改为(我认为):
"scripts": {
"start": "NODE_ENV=test&&nodemon --exec 'mocha --recursive -R min'"
},
您可以进行快速测试并将其更改为并运行它。如果修复它,这正是你的问题。但是,这会在Linux上破坏它,因此通常建议使用cross-env
。确保&&
也没有空格。