Appearance
使用package-lock锁定包版本
这篇文章讲得好 https://medium.com/helpshift-engineering/package-lock-json-the-complete-guide-2ae40175ebdd
总结一下:
- npm 5 以后,使用 npm i 会自动生成 package-lock.json 文件,版本号与 package.json 一致,此时只需要将 package-lock.json 文件加入 git 中即可
- 假设另一位 clone 了代码,运行
npm i
时会优先根据 package-lock.json 的版本下载 node_modules。 - 假如这个用户手动修改了 package.json 的版本并再次运行
npm i
,package-lock.json 也会更着更新。 - 假如这个用户手动修改了 package.json 的版本,这不运行
npm i
而是运行npm ci
,package-lock.json 就不会更着修改,而是报错,因为 package.json 和 package-lock.json 不一致。
所以只需要把 package-lock.json 放进 git 中,再运行 npm ci
保证两个文件的版本都一样就可以了。