在 pnpm 工作区中,如何使用公共包的分支的本地副本

Ste*_*e B 3 git node.js pnpm

我正在使用 pnpm 及其工作区功能来构建多个应用程序,这些应用程序共享私有库中的一些代码。

除了私有依赖项之外,我还引用了 npm 注册表中的一堆公共包。

这工作正常。

然而,公共参考有时会遇到一些错误,我想帮助解决。这需要在最终提交 PR 之前对项目进行分叉。

Pnpm 允许声明对 git 项目的依赖关系,但如何引用分叉库的本地克隆?

我想避免将任何代码推送到分叉项目,除非它已经在本地进行了测试。

因为我在 pnpm 工作区中工作,所以工作区本身就是一个完整的 git 存储库,这不允许我在工作区中使用 fork

Zol*_*han 13

您可以使用链接。只需将您的依赖项替换为具有分叉存储库相对路径的链接即可。例如:

{
  "dependencies": {
    "foo": "link:../foo"
  }
}
Run Code Online (Sandbox Code Playgroud)

如果此包不是任何项目的直接依赖项,请使用overrides

{
  "pnpm": {
    "overrides": {
      "foo": "link:../foo"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)