【问题标题】:NODE_PATH throws error when NPM starts on windows 10NPM 在 Windows 10 上启动时 NODE_PATH 抛出错误
【发布时间】:2016-10-11 04:53:59
【问题描述】:

我正在尝试通过关注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 ]

【问题讨论】:

  • 您的系统上是否设置了 NODE_PATH?
  • 是的。 NODE_PATH ENVIRONMENT 变量已在我的系统中设置为“C:\Users\Selva\AppData\Roaming\npm\node_modules”。

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


【解决方案1】:

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

如果您在 Windows 上使用命令提示符或 Powershell,NODE_PATH=$NODE_PATH:./app node server 将无法正常运行。如果您已经安装了 Git,那么您应该使用应该已经可用的 Git Bash。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:
      "scripts": {
          "start": "node server.js",
          "dev": "start cmd /k \"webpack-dev-server --progress --colors\" & node server.js"
        }
      

      【讨论】:

      • 虽然这解决了问题。请为未来的读者解释原因。不是每个人都理解package.json 中的脚本选项。
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-26
        • 2017-06-11
        • 1970-01-01
        • 2016-12-23
        • 2016-06-15
        • 2020-12-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多