按下CTRL+C时,npm错误代码为ELIFECYCLE



我已经构建了一个web抓取工具,主要使用用于后端的puppeteer和用于CLI的inquirer.js。我希望最终用户能够通过按下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:UsersAndiAppDataRoamingnpm-cache_logs2020-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 Filesnodejsnode_modulesnpmnode_modulesnpm-lifecyclenode-gyp-bin;C:UsersAndiOneDrive - Fachhochschule DortmundBachelorarbeitjmtoolnode_modules.bin;C:ProgramDataOracleJavajavapath;C:Program Files (x86)InteliCLS Client;C:Program FilesInteliCLS Client;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program FilesIntelIntel(R) Management Engine ComponentsDAL;C:Program FilesIntelIntel(R) Management Engine ComponentsIPT;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsDAL;C:Program Files (x86)IntelIntel(R) Management Engine ComponentsIPT;C:Program FilesMicrosoftWeb Platform Installer;C:Program Filesnodejs;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH;C:Program FilesPuTTY;C:Program FilesNVIDIA CorporationNVIDIA NvDLISR;C:UsersAndiAppDataLocalProgramsMiKTeX 2.9miktexbin;C:UsersAndiAppDataLocalProgramsMicrosoft VS Codebin;C:UsersAndiAppDataRoamingnpm;%USERPROFILE%AppDataLocalMicrosoftWindowsApps;
9 verbose lifecycle jmtool@1.0.0~start: CWD: C:UsersAndiOneDrive - Fachhochschule DortmundBachelorarbeitjmtool
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 Filesnodejsnode_modulesnpmnode_modulesnpm-lifecycleindex.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:182:13)
13 verbose stack     at ChildProcess.<anonymous> (C:Program Filesnodejsnode_modulesnpmnode_modulesnpm-lifecyclelibspawn.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:UsersAndiOneDrive - Fachhochschule DortmundBachelorarbeitjmtool
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 64位btw,以防相关。(

我知道答案可能很晚了,但我刚刚遇到了这个问题。我认为问题出在您使用的节点版本上。在我的案例中,我使用node v12,将版本更改为node v14.7.0,然后删除节点模块rm -r node_modules,运行npm install,然后运行npm start,这对我很有效。

最新更新