【发布时间】:2021-05-12 15:42:45
【问题描述】:
我们的团队使用 PNPM,一个反复出现的问题是我们似乎安装了不同版本的 pnpm 命令,在添加或更新包时导致锁定文件 git 冲突。 PNPM 是一个全球性的工具,所以我不完全确定如何处理这种情况。一些 Node 工具具有全局 CLI 界面 (Grunt),但使用本地安装的包来避免此问题。 PNPM 是否有办法确保整个团队的行为一致以避免锁定文件冲突等?
【问题讨论】:
标签: pnpm
我们的团队使用 PNPM,一个反复出现的问题是我们似乎安装了不同版本的 pnpm 命令,在添加或更新包时导致锁定文件 git 冲突。 PNPM 是一个全球性的工具,所以我不完全确定如何处理这种情况。一些 Node 工具具有全局 CLI 界面 (Grunt),但使用本地安装的包来避免此问题。 PNPM 是否有办法确保整个团队的行为一致以避免锁定文件冲突等?
【问题讨论】:
标签: pnpm
目前推荐的做法是在项目中声明应该使用哪个 pnpm 版本。可以通过engines field of packages.json 完成。例如,如果您的项目应该与 pnpm v6 一起使用,请将其添加到 package.json:
{
"engines": {
"pnpm": "6"
}
}
如果有人使用不同版本的 pnpm 运行 pnpm install,则会引发错误。
将来我们可能会自动下载正确版本的 pnpm 并使用它。 Yarn 是如何使用版本策略的。
【讨论】: