NODE_PATH NPM 在 windows 10 上启动时抛出错误

NODE_PATH throws error when NPM starts on windows 10

我正在尝试按照 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 ]
"scripts": {
    "start": "node server.js",
    "dev": "start cmd /k \"webpack-dev-server --progress --colors\" & node server.js"
  }

安装节点应安装在您的系统环境变量中,并应在 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 并且您的服务器应该 运行ning。

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

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

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

否则,您可能会安装 MSYS' or Cygwin's Bash shell。

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