【问题标题】:Detox fails with "Cannot find module 'jest-cli/build/cli/args'"排毒失败并显示“找不到模块 'jest-cli/build/cli/args'”
【发布时间】:2020-12-27 21:17:33
【问题描述】:

我们的 CI 构建最近开始失败,出现如下错误:

detox test -c android.emu.release
detox[3061] ERROR: [cli.js] Error:
Cannot find module 'jest-cli/build/cli/args'

本地detox test -c android.emu.release 成功。知道有什么问题吗?

【问题讨论】:

    标签: jestjs detox


    【解决方案1】:

    UPD:⚠️⚠️⚠️ 最近的 Detox 版本 since 17.5.2 和更新版本不需要以下解决方法。 ⚠️⚠️⚠️

    对于 17.4.7 和 17.5.1 之间的版本,以下文本在历史上有效。

    如果您看到如下错误:

    Cannot find module 'jest-cli/build/cli/args'
    

    您应该将jest-cli 添加到您的package.jsondevDependencies 并重新运行npm install,例如:

     "devDependencies": {
       "jest": "26.x.x",
    +  "jest-cli": "26.x.x",
    

    如果您使用的是已弃用的jest (25.x) 版本,仍要确保您的jest-cli 版本匹配 jest 的版本:

     "devDependencies": {
       "jest": "^25.5.4",
    +  "jest-cli": "^25.5.4",
    

    P。 S. 关于为什么会这样。虽然detox@17.4.7 并不意味着包含任何重大更改,但由于另一种安装方法(通过lerna bootstrap 而不是原版npm install),这个问题已经超过了测试生命周期。与lerna 不同,当前版本的npm 会将jest-cli 放入node_modules/jest/node_modules/jest-cli,这就是Detox 无法找到的原因,尽管detox 包本身在清单中标记为jest-cli 包peerDependency,并打印相关警告:

    npm WARN detox@17.4.7 requires a peer of jest-cli@>=25.0.0 but none is installed. You must install peer dependencies yourself.
    

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 2020-06-30
      • 2021-02-15
      • 2019-10-30
      • 1970-01-01
      • 2020-01-29
      • 2018-09-26
      • 1970-01-01
      • 2014-11-17
      相关资源
      最近更新 更多