11

当我在项目中运行“npm install”时,它通常会修改 package-lock.json,例如,如果我在另一台计算机上处​​理同一个项目(具有不同的节点或 npm 版本)。

但同时文档建议该文件应该添加到版本控制中(在我的例子中是 git):

https://docs.npmjs.com/files/package-lock.json

该文件旨在提交到源存储库中,并用于各种目的:...

那么我应该在切换工作机器或其他人时来回提交 npm 所做的更改npm install吗?这将是一场噩梦。

目前我只是放弃了 npm 对 package-lock.json 所做的任何更改,并且它运行良好。所以我不妨将它添加到.gitignore ...

我做错了吗?我应该npm ci改用吗?我不会称我的计算机为“CI”,它只是一台开发机器,我为什么要在那里使用它?

基本上我和这位先生有同样的问题:

https://github.com/npm/npm/issues/18103#issuecomment-370401935

(遗憾的是,我根本无法对该问题添加评论或创建新问题,npm 存储库已禁用问题)

4

1 回答 1

-2

是的,您想将您的 package-lock.json 文件提交到源代码管理。这背后的原因是为了确保为每个下拉代码的用户下载和安装每个包的所有相同版本。包含该文件还有其他一些原因,例如跟踪对包树的更改以进行审计。

于 2018-10-26T14:20:34.867 回答