在我的打字稿项目上运行eslint时遇到问题。我有以下package.json,我写了一个脚本来运行eslint:
{
"name": "ts-tutorial",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"transpile": "tsc",
"lint": "eslint src --ext ts"
},
"author": "",
"license": "ISC",
"devDependencies": {
"eslint": "^4.19.1",
"eslint-config-standard": "^11.0.0",
"eslint-plugin-import": "^2.9.0",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-promise": "^3.7.0",
"eslint-plugin-standard": "^3.0.1",
"typescript": "^2.7.2",
"typescript-eslint-parser": "^14.0.0"
}
}
所以现在,当我运行npm run ling
时,我得到了正确的输出,包含了我的代码所有的错误,需要进行修改。但是在列表的末尾,我看到了一个npm错误:
✖ 7 problems (7 errors, 0 warnings)
6 errors, 0 warnings potentially fixable with the `--fix` option.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ts-tutorial@1.0.0 lint: `eslint src --ext ts`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ts-tutorial@1.0.0 lint 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! /home/dbugger/.npm/_logs/2018-03-26T16_44_57_459Z-debug.log
导致此错误的原因是什么?我已经阅读了日志文件,但是我无法理解阅读它的问题。
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'lint' ]
2 info using npm@5.5.1
3 info using node@v8.9.3
4 verbose run-script [ 'prelint', 'lint', 'postlint' ]
5 info lifecycle ts-tutorial@1.0.0~prelint: ts-tutorial@1.0.0
6 info lifecycle ts-tutorial@1.0.0~lint: ts-tutorial@1.0.0
7 verbose lifecycle ts-tutorial@1.0.0~lint: unsafe-perm in lifecycle true
8 verbose lifecycle ts-tutorial@1.0.0~lint: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/home/dbugger/projects/exercises/ts-tutorial/node_modules/.bin:/home/dbugger/.rbenv/plugins/ruby-build/bin:/home/dbugger/.rbenv/shims:/home/dbugger/.rbenv/bin:/home/dbugger/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
9 verbose lifecycle ts-tutorial@1.0.0~lint: CWD: /home/dbugger/projects/exercises/ts-tutorial
10 silly lifecycle ts-tutorial@1.0.0~lint: Args: [ '-c', 'eslint src --ext ts' ]
11 silly lifecycle ts-tutorial@1.0.0~lint: Returned: code: 1 signal: null
12 info lifecycle ts-tutorial@1.0.0~lint: Failed to exec lint script
13 verbose stack Error: ts-tutorial@1.0.0 lint: `eslint src --ext ts`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:280:16)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at EventEmitter.emit (events.js:214:7)
13 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at emitTwo (events.js:126:13)
13 verbose stack at ChildProcess.emit (events.js:214:7)
13 verbose stack at maybeClose (internal/child_process.js:925:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 verbose pkgid ts-tutorial@1.0.0
15 verbose cwd /home/dbugger/projects/exercises/ts-tutorial
16 verbose Linux 4.13.0-37-generic
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "lint"
18 verbose node v8.9.3
19 verbose npm v5.5.1
20 error code ELIFECYCLE
21 error errno 1
22 error ts-tutorial@1.0.0 lint: `eslint src --ext ts`
22 error Exit status 1
23 error Failed at the ts-tutorial@1.0.0 lint script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
答案 0 :(得分:2)
这是预期的。根据设计,如果存在任何掉毛错误,eslint
将退出状态1。 npm
将此解释为错误,并告诉您。
如果您想要取消错误的退出代码,可以使用以下建议的解决方法之一:https://github.com/eslint/eslint/issues/7933。