【问题标题】:How to patch jest-rutime when using Yarn 2?使用 Yarn 2 时如何修补 jest-rutime?
【发布时间】:2021-05-21 17:54:07
【问题描述】:

我正在尝试按照此存储库中的说明来修补 Jest。

Patch Jest.

建议使用patch-package,但我发现在使用Yarn 2时我可以使用yarn patch

我设法修补了 jest-runtime,但似乎 Jest 在其包中似乎不需要 jest-runtime,所以我不知道它是从哪里来的,以将其用作声明修补文件的引用。

Jest package.json

我知道如果 Jest 是需要修补的,我可以这样声明:

package.json

"devDependencies": {
   "jest": "patch:jest@26.6.3#./patches/jest.patch"
}

我尝试使用相同的逻辑来包含以下代码以包含jest-runtime,但它不起作用。

"devDependencies": {
   "jest": "^26.6.3",
   "jest-runtime": "patch:jest-runtime@26.6.3#./patches/jest-runtime.patch"
}

我如何声明这个修补的 jest 运行时以便 Jest 可以使用它?

【问题讨论】:

    标签: jestjs yarnpkg yarn-v2


    【解决方案1】:

    清单中的Resolutions 字段是声明我们未添加到devDependencies 的已修补模块(例如子模块)的正确方法。

    resolutions 字段允许您指示 Yarn 使用特定的分辨率,而不是解析器通常会选择的任何分辨率。这对于强制所有包使用单个版本的依赖项或反向移植修复很有用。

    该问题的修复:

    {
     ...
      "dependencies": {
        "jest": "^26.6.3",
      },
      "resolutions": {
        "jest-runtime": "patch:jest-runtime@26.6.3#./patches/jest-runtime.patch"
      },
    }
    

    【讨论】:

      猜你喜欢
      • 2020-06-25
      • 2021-11-03
      • 2021-02-12
      • 2014-09-02
      • 1970-01-01
      • 2020-04-11
      • 2019-05-27
      • 2021-11-19
      • 1970-01-01
      相关资源
      最近更新 更多