我可以在切换到 pnpm 时删除 package-lock.json 吗?
Can I delete package-lock.json when switching to pnpm?
我正在从 npm
切换到 pnpm
,它具有我喜欢的一组不同的功能。
前者使用 package-lock.json
锁定确切的包版本,后者 pnpm-lock.yaml
.
根据 docs,pnpm
忽略 package-lock.json
,这似乎变得多余。因此,当使用 pnpm
更新包时,此文件将根本不会被处理,并且很快就会过时。
我可以安全地删除 package-lock.json
还是会遇到一些问题?从我的项目中删除这个文件会有什么缺点吗?
我使用 npm
只是为了获取我的项目所需的工具和包(即 Gulp),而不是将包发布到 https://www.npmjs.com/
如果您使用 pnpm,则可以删除 package-lock.json
(如果您从 Yarn 切换,则可以删除 yarn.lock
)。如果您需要保留旧锁定文件中的一些依赖项,您可以 运行 pnpm import
并且 pnpm 将使用来自 package-lock.json
.
的信息生成一个锁定文件
pnpm 将创建自己的锁定文件。 pnpm 的锁定文件称为 pnpm-lock.yaml
。您应该将此文件提交到存储库。
如果您有 CI 服务器,则还必须在 CI 服务器上使用 pnpm 来安装依赖项。 Here are some instructions how to do that.
我正在从 npm
切换到 pnpm
,它具有我喜欢的一组不同的功能。
前者使用 package-lock.json
锁定确切的包版本,后者 pnpm-lock.yaml
.
根据 docs,pnpm
忽略 package-lock.json
,这似乎变得多余。因此,当使用 pnpm
更新包时,此文件将根本不会被处理,并且很快就会过时。
我可以安全地删除 package-lock.json
还是会遇到一些问题?从我的项目中删除这个文件会有什么缺点吗?
我使用 npm
只是为了获取我的项目所需的工具和包(即 Gulp),而不是将包发布到 https://www.npmjs.com/
如果您使用 pnpm,则可以删除 package-lock.json
(如果您从 Yarn 切换,则可以删除 yarn.lock
)。如果您需要保留旧锁定文件中的一些依赖项,您可以 运行 pnpm import
并且 pnpm 将使用来自 package-lock.json
.
pnpm 将创建自己的锁定文件。 pnpm 的锁定文件称为 pnpm-lock.yaml
。您应该将此文件提交到存储库。
如果您有 CI 服务器,则还必须在 CI 服务器上使用 pnpm 来安装依赖项。 Here are some instructions how to do that.