当NPM在Windows 10上启动时,NODE_PATH会引发错误

时间:2016-10-11 04:54:00

标签: node.js npm webpack mean-stack webpack-dev-server

我正在尝试按照https://github.com/michaelcheng429/super-mean-stack

构建一个MEAN Todo应用

的package.json

{
 "name": "ToDoThoughts",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
   "start": "NODE_PATH=$NODE_PATH:./app  node server",
   "dev": "npm start & webpack-dev-server --progress --colors"
 },
 "license": "ISC",
 "dependencies": {
   "angular": "1.4.12",
   "angular-ui-router": "0.3.1",
   "body-parser": "1.15.2",
   "bootstrap": "3.3.7",
   "express": "4.14.0"
 },
 "devDependencies": {
   "babel-core": "6.17.0",
   "babel-preset-es2015": "6.16.0",
   "raw-loader": "0.5.1",
   "webpack": "1.13.2",
   "webpack-dev-server": "1.16.2"
 },
 "engines": {
   "node": "5.5.0"
 }
}

我在运行命令时遇到错误" npm run dev"在命令提示符下。 我还附上了npm.debug.log

> ToDoThoughts@1.0.0 start C:\Projects\ToDoThoughts
> NODE_PATH=$NODE_PATH:./app  node server

'NODE_PATH' is not recognized as an internal or external command,
operable program or batch file.

npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Selva\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v6.5.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! ToDoThoughts@1.0.0 start: `NODE_PATH=$NODE_PATH:./app  node server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ToDoThoughts@1.0.0 start script 'NODE_PATH=$NODE_PATH:./app  node server'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ToDoThoughts package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     NODE_PATH=$NODE_PATH:./app  node server
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ToDoThoughts
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ToDoThoughts
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Projects\ToDoThoughts\npm-debug.log

npm.debug.log

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Users\\Selva\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'start' ]
2 info using npm@3.10.8
3 info using node@v6.5.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle ToDoThoughts@1.0.0~prestart: ToDoThoughts@1.0.0
6 silly lifecycle ToDoThoughts@1.0.0~prestart: no script for prestart, continuing
7 info lifecycle ToDoThoughts@1.0.0~start: ToDoThoughts@1.0.0
8 verbose lifecycle ToDoThoughts@1.0.0~start: unsafe-perm in lifecycle true
9 verbose lifecycle ToDoThoughts@1.0.0~start: PATH: C:\Users\Selva\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin;C:\Projects\ToDoThoughts\node_modules\.bin;C:\Users\Selva\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin;C:\Projects\ToDoThoughts\node_modules\.bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Skype\Phone\;C:\ProgramData\chocolatey\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\Selva\AppData\Local\Microsoft\WindowsApps;C:\Users\Selva\AppData\Roaming\npm;C:\Users\Selva\AppData\Local\atom\bin;C:\Program Files\Git\bin;C:\Projects\ToDoThoughts
10 verbose lifecycle ToDoThoughts@1.0.0~start: CWD: C:\Projects\ToDoThoughts
11 silly lifecycle ToDoThoughts@1.0.0~start: Args: [ '/d /s /c', 'NODE_PATH=$NODE_PATH:./app  node server' ]
12 silly lifecycle ToDoThoughts@1.0.0~start: Returned: code: 1  signal: null
13 info lifecycle ToDoThoughts@1.0.0~start: Failed to exec start script
14 verbose stack Error: ToDoThoughts@1.0.0 start: `NODE_PATH=$NODE_PATH:./app  node server`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (C:\Users\Selva\AppData\Roaming\npm\node_modules\npm\lib\utils\lifecycle.js:255:16)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at EventEmitter.emit (events.js:191:7)
14 verbose stack     at ChildProcess.<anonymous> (C:\Users\Selva\AppData\Roaming\npm\node_modules\npm\lib\utils\spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at ChildProcess.emit (events.js:191:7)
14 verbose stack     at maybeClose (internal/child_process.js:877:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid ToDoThoughts@1.0.0
16 verbose cwd C:\Projects\ToDoThoughts
17 error Windows_NT 10.0.14393
18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Selva\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
19 error node v6.5.0
20 error npm  v3.10.8
21 error code ELIFECYCLE
22 error ToDoThoughts@1.0.0 start: `NODE_PATH=$NODE_PATH:./app  node server`
22 error Exit status 1
23 error Failed at the ToDoThoughts@1.0.0 start script 'NODE_PATH=$NODE_PATH:./app  node server'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the ToDoThoughts package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     NODE_PATH=$NODE_PATH:./app  node server
23 error You can get information on how to open an issue for this project with:
23 error     npm bugs ToDoThoughts
23 error Or if that isn't available, you can get their info via:
23 error     npm owner ls ToDoThoughts
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

4 个答案:

答案 0 :(得分:1)

安装上的节点应安装在您的系统环境变量中,并应使用PowerShell或cmd中的node进行调用。

这意味着不需要总是在环境变量中插入节点路径。

确保您以管理员身份运行PowerShell或cmd,这样可以确保系统环境变量正在被选中。

最后,在package.json更改为:

"scripts": {
    "start": "node server.js",
    "dev": "start cmd /k \"webpack-dev-server --progress --colors\" & node server.js"
}

然后运行npm start并且您的服务器应该正在运行。

答案 1 :(得分:1)

NPM scripts在调用NPM的shell中执行。

如果您在Windows上使用命令提示符或Powershell,

NODE_PATH=$NODE_PATH:./app node server将无法正常运行。如果你已经安装了Git,那么你应该使用已经可用的Git Bash。

否则,您可以安装MSYS'Cygwin's Bash shell。

答案 2 :(得分:0)

"scripts": {
    "start": "node server.js",
    "dev": "start cmd /k \"webpack-dev-server --progress --colors\" & node server.js"
  }

答案 3 :(得分:0)

npm缓存清理 然后清除package-lock.json文件