【问题标题】:pnpm -- sync versions of dependenciespnpm -- 同步依赖版本
【发布时间】:2021-05-16 18:45:51
【问题描述】:

假设我对 Javascript monorepo 有以下限制

-- module a
   package.json
-- module b
   package.json
package.json

模块 A 和模块 B 都依赖于 lodash。

使用 pnpm,有什么方法可以确保它们都使用相同版本的 lodash?就像在根目录中安装 lodash 并说“使用工作区根目录中的任何版本”?

附:我知道 pnpm 允许或工作区,但据我了解(这可能是错误的),只有在依赖项已经是 monorepo 中的模块时才使用它——而不是用于第 3 方依赖项。

【问题讨论】:

    标签: monorepo pnpm


    【解决方案1】:

    您可以使用package.json 中的overrides 字段来实现此目的。

    https://pnpm.js.org/en/package_json#pnpmoverrides

    {
      "pnpm": {
        "overrides": {
          "lodash": "4.17.20"
        }
      }
    }
    

    Yarn 中有一个类似的功能,称为resolutions。显然有一些差异,虽然我不熟悉细节。 The feature was added here.

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 2019-12-25
      • 2022-06-23
      • 2016-09-18
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      相关资源
      最近更新 更多