代码之家  ›  专栏  ›  技术社区  ›  Enrique Moreno Tent

npm在eslint报告末尾抛出错误

  •  9
  • Enrique Moreno Tent  · 技术社区  · 7 年前

    在typescript项目上运行eslint时出现问题。我有以下包裹。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 ]
    
    1 回复  |  直到 7 年前
        1
  •  31
  •   ethan.roday    7 年前

    这是意料之中的。根据设计, eslint 如果有任何linting错误,则以状态1退出。 npm 将其解释为一个错误,它告诉你这一点。

    如果要抑制错误的退出代码,可以使用此处建议的解决方法之一: https://github.com/eslint/eslint/issues/7933