pnpm -- 同步依赖项的版本

假设我对 Javascript monorepo 有以下限制

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

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

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

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

sun121151360 回答:pnpm -- 同步依赖项的版本

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

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

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

Yarn 中存在类似的功能,称为 resolutions。显然有一些差异,尽管我不熟悉具体细节。 The feature was added here.

本文链接:https://www.f2er.com/931894.html

大家都在问