首页 > 解决方案 > 按 CTRL+C 时的 npm 错误代码 ELIFECYCLE

问题描述

我构建了一个网络抓取工具,主要使用 puppeteer 作为后端,inquirer.js 作为 CLI。我希望最终用户能够通过按 CTRL + C 退出进程而不会出现错误。这在运行时非常有效node built/index.js,但是在运行时npm start,按 CTRL + C 会导致错误:

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! jmtool@1.0.0 start: `node built/index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the jmtool@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Andi\AppData\Roaming\npm-cache\_logs\2020-07-28T09_46_38_541Z-debug.log

这是完整的日志文件:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'start' ]
2 info using npm@6.4.1
3 info using node@v10.15.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle jmtool@1.0.0~prestart: jmtool@1.0.0
6 info lifecycle jmtool@1.0.0~start: jmtool@1.0.0
7 verbose lifecycle jmtool@1.0.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle jmtool@1.0.0~start: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\Andi\OneDrive - Fachhochschule Dortmund\Bachelorarbeit\jmtool\node_modules\.bin;C:\ProgramData\Oracle\Java\javapath;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)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\nodejs\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Users\Andi\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\;C:\Users\Andi\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Andi\AppData\Roaming\npm;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
9 verbose lifecycle jmtool@1.0.0~start: CWD: C:\Users\Andi\OneDrive - Fachhochschule Dortmund\Bachelorarbeit\jmtool
10 silly lifecycle jmtool@1.0.0~start: Args: [ '/d /s /c', 'node built/index.js' ]
11 silly lifecycle jmtool@1.0.0~start: Returned: code: 1  signal: null
12 info lifecycle jmtool@1.0.0~start: Failed to exec start script
13 verbose stack Error: jmtool@1.0.0 start: `node built/index.js`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:182:13)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:182:13)
13 verbose stack     at maybeClose (internal/child_process.js:962:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
14 verbose pkgid jmtool@1.0.0
15 verbose cwd C:\Users\Andi\OneDrive - Fachhochschule Dortmund\Bachelorarbeit\jmtool
16 verbose Windows_NT 10.0.18363
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
18 verbose node v10.15.0
19 verbose npm  v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error jmtool@1.0.0 start: `node built/index.js`
22 error Exit status 1
23 error Failed at the jmtool@1.0.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

这是我的package.json

{
  "name": "jmtool",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node built/index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "cheerio": "^1.0.0-rc.3",
    "inquirer": "^7.3.2",
    "inquirer-file-tree-selection-prompt": "^1.0.6",
    "n-readlines": "^1.0.0",
    "puppeteer": "^2.1.1",
    "puppeteer-select": "^1.0.3",
    "request": "^2.88.2"
  },
  "devDependencies": {
    "@types/node": "^14.0.23"
  }
}

有想法该怎么解决这个吗?(我使用的是 Windows 10 64bit btw,以防万一。)

标签: npm

解决方案


我知道答案可能会迟到,但我刚刚遇到了这个问题。我认为问题出在您使用的节点版本上。就我而言,我正在使用node v12,将版本更改为node v14.7.0,然后我删除了 node_modules rm -r node_modules,我运行npm install,然后运行npm start​​,它对我有用。


推荐阅读