Skip to content

使用package-lock锁定包版本

这篇文章讲得好 https://medium.com/helpshift-engineering/package-lock-json-the-complete-guide-2ae40175ebdd

总结一下:

  1. npm 5 以后,使用 npm i 会自动生成 package-lock.json 文件,版本号与 package.json 一致,此时只需要将 package-lock.json 文件加入 git 中即可
  2. 假设另一位 clone 了代码,运行 npm i 时会优先根据 package-lock.json 的版本下载 node_modules。
  3. 假如这个用户手动修改了 package.json 的版本并再次运行 npm i,package-lock.json 也会更着更新。
  4. 假如这个用户手动修改了 package.json 的版本,这不运行 npm i 而是运行 npm ci,package-lock.json 就不会更着修改,而是报错,因为 package.json 和 package-lock.json 不一致。

所以只需要把 package-lock.json 放进 git 中,再运行 npm ci 保证两个文件的版本都一样就可以了。

Released under the MIT License.