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

Node.js项目不再工作。 有node.js 7.10.x npm 4.2.1

正在工作的项目不再有效。 我卸载node.js,删除npmcaching,重新安装新鲜。 删除了node_modules目录,在项目的package.json和npm start xxxx等上运行了npm install。无论我运行什么项目,错误仍然如下所示。 在Linux Ubuntu上安装的相同的项目工作得很好。

没有线索为什么这些项目不再有效。 以下错误与我testing的每个节点项目一致。

任何帮助,将不胜感激。 提前致谢。

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. 

我想我知道问题是什么,如果它适用于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'" }, 

你可以做一个快速testing,并将其更改为并运行它。 如果修复它,这正是你的问题。 但是,这将在Linux上打破,所以一般来说,build议使用cross-env 。 确保你在&&也没有空格。