代码之家  ›  专栏  ›  技术社区  ›  SRP

为什么NPM run test命令在使用NPM ERR时失败!代码ELIFECYCLE错误?

  •  0
  • SRP  · 技术社区  · 4 年前

    我的Angular CI构建在NPM测试任务中失败,我正在运行 npm运行测试:声纳 CI中的命令。

    测试:声纳在顶部的package.json文件中定义,详细信息如下,

    “test:sonar”:“节点--max_old_space_size=4096个节点模块/@angular/cli/bin/ng测试--watch=false--代码覆盖率--karma配置=src/karma.conf.sonar.js”,

    目前,我在使用CI时遇到了以下错误,如果手动执行npm run test:sonar,

    2020-06-04T10:12:40.5784545Z Browserslist: caniuse-lite is outdated. Please run next command `npm update`
    2020-06-04T10:12:41.7505089Z [32m04 06 2020 06:12:41.749:INFO [framework:karma-parallel]: [39msharding specs across 3 browsers
    2020-06-04T10:13:03.9245412Z [32m04 06 2020 06:13:03.921:INFO [karma-server]: [39mKarma v4.1.0 server started at http://0.0.0.0:9876/
    2020-06-04T10:13:03.9245412Z [32m04 06 2020 06:13:03.921:INFO [launcher]: [39mLaunching browsers Chrome, Chrome, Chrome with concurrency unlimited
    2020-06-04T10:13:03.9245412Z [32m04 06 2020 06:13:03.921:INFO [launcher]: [39mStarting browser Chrome
    2020-06-04T10:13:04.0026773Z [32m04 06 2020 06:13:03.999:INFO [launcher]: [39mStarting browser Chrome
    2020-06-04T10:13:04.0339834Z [32m04 06 2020 06:13:04.030:INFO [launcher]: [39mStarting browser Chrome
    2020-06-04T10:13:55.9279235Z [32m04 06 2020 06:13:55.925:INFO [Chrome 83.0.4103 (Windows 10.0.0)]: [39mConnected on socket gpO5ue6BN2Mpg7E1AAAB with id 40174053
    2020-06-04T10:13:55.9369226Z [32m04 06 2020 06:13:55.929:INFO [Chrome 83.0.4103 (Windows 10.0.0)]: [39mConnected on socket detlQaSArnTujK4UAAAA with id 82416436
    2020-06-04T10:13:55.9369226Z [32m04 06 2020 06:13:55.931:INFO [Chrome 83.0.4103 (Windows 10.0.0)]: [39mConnected on socket mhjlHwvj60_SZr0tAAAC with id 99954543
    2020-06-04T10:15:08.0931637Z [33m04 06 2020 06:15:08.091:WARN [launcher]: [39mChrome was not killed in 2000 ms, sending SIGKILL.
    2020-06-04T10:15:08.4838243Z npm ERR! code ELIFECYCLE
    2020-06-04T10:15:08.4838243Z npm ERR! errno 1
    2020-06-04T10:15:08.4838243Z npm ERR! nextgen@0.0.1 test:sonar: `node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng test --watch=false --code-coverage --karma-config=src/karma.conf.sonar.js`
    2020-06-04T10:15:08.4994524Z npm ERR! Exit status 1
    2020-06-04T10:15:08.4994524Z npm ERR! 
    2020-06-04T10:15:08.4994524Z npm ERR! Failed at the nextgen@0.0.1 test:sonar script.
    2020-06-04T10:15:08.4994524Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    2020-06-04T10:15:08.4994524Z 
    2020-06-04T10:15:08.4994524Z npm ERR! A complete log of this run can be found in:
    2020-06-04T10:15:08.4994524Z npm ERR!     C:\Users\svc_TFSservice\AppData\Roaming\npm-cache\_logs\2020-06-04T10_15_08_499Z-debug.log
    

    还添加了CMD提示符的屏幕截图,不确定是由于chrome超时还是其他原因导致了此错误。我已经用了好几个月了,直到今天都很好用。 对此有任何建议或帮助都将非常好。

    与此同时,我还将寻找导致此错误的任何其他解决方案。

    enter image description here

    0 回复  |  直到 4 年前
        1
  •  0
  •   Kashyap    4 年前

    这个错误往往很令人困惑,但你对Chrome位的看法是正确的。实际的错误是测试脚本被测试运行器杀死,正如最后的警告消息所指出的那样:

    2020-06-04T10:15:08.0931637Z [33m04 06 2020 06:15:08.091:WARN [launcher]: [39mChrome was not killed in 2000 ms, sending SIGKILL.
    

    您可能正在通过调用测试 npm run <> 命令,这就是错误消息中提到的“生命周期”脚本。这个 scripts 可以用作更大一组钩子的一部分 npm 提供与包构建/安装生命周期挂钩的功能。这是一个通用的错误消息,让你在这里感到困惑。

        2
  •  0
  •   Community T.Woody    4 年前

    我通过将karma.conf.sonar.js文件中执行器的值从3更新为4,解决了这个问题。由于它必须执行1700多个测试用例,我认为有3个chrome无法执行它们,因此将其更新为4个就停止了抛出错误。

    目前,npm test在CI构建和CMD提示符下都运行良好。

    enter image description here