Windows 10上的工作node.js项目现在不再工作了

时间:2017-10-05 22:47:58

标签: node.js npm

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.

1 个答案:

答案 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。确保&&也没有空格。