假设我的package.json中有一个软件包版本(例如:express)
"express":"1.2"
如果其他任何人在我的模块上工作,他们将获得1.2版本,为什么我需要检查软件包锁?
如果未提及版本,则表示我同意。
似乎提到了答案,以确保从事该项目的每个人都使用相同的版本,这就是为什么需要签入锁的原因。
答案 0 :(得分:0)
package-lock.json
文件是为了确保开发人员使用的软件包与另一个重要环境(生产)中使用的软件包匹配。
还应确保对生产中使用的版本进行的任何更改都经过深思熟虑,有机会进行审查,并且可以通过构建和部署较旧版本的应用程序源轻松回滚。
请注意,1.2
的{{1}}中包含dependencies
的版本会告诉package.json
,它可能会选择以npm
开头的最新版本。 / p>
即使版本差异表明进行了不间断的更改,也没有真正阻止1.2
开发人员破坏假设版本express
和1.2.0
之间的软件包的原因,因此这很重要以确保这些版本之间的移动是有意的且易于逆转。