在 pnpm 工作空间中,如何使用 public 包的分支的本地副本

Within a pnpm workspace, how to work with local copy of a fork of a public package

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

除了私有依赖项,我还从 npm 注册表中引用了一堆 public 包。

这工作正常。

但是,public 参考文献有时会遇到一些我想帮助解决的错误。这需要在最终提交 PR 之前在项目的分支上工作。

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

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

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

您可以使用 link。只需将您的依赖项替换为 link 以及分支存储库的相对路径。例如:

{
  "dependencies": {
    "foo": "link:../foo"
  }
}

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

{
  "pnpm": {
    "overrides": {
      "foo": "link:../foo"
    }
  }
}