假设我们有一个Vue/React项目,需要3个人,但是每个人对包管理器的品味都不一样,第一个人已经觉得使用npm很舒服,第二个人使用yarn,因为他认为它有更好的安全性,而第三个人喜欢使用pnpm,因为他认为当有多个项目时,它可以保存存储空间。是否有可能,如果一个项目正在工作的这3个人运行在每个人的设备上使用他们选择的包管理器?即使有可能,这是正常的事情吗?还是我们应该避免的事情?
xxhby3vn1#
这是你应该避免的。即使他们使用相同的锁定文件,他们的工作方式也会有细微的差异,所以人们会得到“在我的机器上工作”的问题。你不想花时间去解决这样的问题。每个项目都需要选择一个包管理器,并坚持使用该包管理器的特定主版本。您甚至可以更进一步,坚持使用该包管理器的特定版本。这将使您的设置最稳定。您可以使用package.json中的新packageManager字段:
package.json
{ "packageManager": "<package manager name>@<version>" }
但是您需要启用corepack,因为它目前是Node.js的一个实验特性:
corepack enable
1条答案
按热度按时间xxhby3vn1#
这是你应该避免的。即使他们使用相同的锁定文件,他们的工作方式也会有细微的差异,所以人们会得到“在我的机器上工作”的问题。你不想花时间去解决这样的问题。
每个项目都需要选择一个包管理器,并坚持使用该包管理器的特定主版本。您甚至可以更进一步,坚持使用该包管理器的特定版本。这将使您的设置最稳定。您可以使用
package.json
中的新packageManager字段:但是您需要启用corepack,因为它目前是Node.js的一个实验特性: