程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么“ npm install”会重写package-lock.json?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么“ npm install”会重写package-lock.json??

开发过程中遇到为什么“ npm install”会重写package-lock.json?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么“ npm install”会重写package-lock.json?的解决方法建议,希望对你解决为什么“ npm install”会重写package-lock.json?有所启发或帮助;

正如其他答案所指出的那样,npm cinpm 5.7.0中引入了该命令,作为在CI上下文中实现快速且可复制的构建的其他方法。有关更多信息,请参见文档和npm博客。

更新和澄清文档的问题是GitHub第18103号。

以下描述的行为已在Npm 5.4.2中修复:GitHub问题#17979中概述了当前预期的行为。

的行为package- lock.Json已在问题#16866中在Npm 5.1.0中更改。从5.1.0版开始,您观察到的行为显然是npm预期的。

也就是说,只要在中找到依赖项的更新版本,package.Json就可以覆盖。如果要有效地固定依赖项,则现在必须指定不带前缀的版本,例如,您需要用代替或编写它们。然后,和的组合将生成可复制的构建。需要明确的是:仅凭它不再锁定根级别依赖项!package- lock.Json``package.Json``1.2.0``~1.2.0``^1.2.0``package.Json``package- lock.Json``package-lock.Json

不管这个设计决定是好的还是不可行的,在GitHub上的问题#17979上引起了持续的讨论。(在我看来,这是一个值得怀疑的决定;至少这个名称lock不再适用。)

还有一点注意事项:对于不支持不可变软件包的注册表也有一个限制,例如当您直接从GitHub而不是npmJs.org提取软件包时。有关进一步的说明,请参阅此包锁文档。

解决方法

我最近才升级到 npm @ 5 。我现在有一个 package-lock.json 文件,其中包含 package.json中的
所有内容。我希望当我运行npm install该程序时,将从锁定文件中提取依赖项版本,以确定应该在我的 node_modules
目录中安装什么。奇怪的是,它实际上最终修改并重写了 package-lock.json 文件。

例如,锁定文件的打字稿指定为版本 2.1.6 。然后,在npm install命令之后,版本更改为 2.4.1
。这似乎破坏了锁定文件的全部目的。

我想念什么?如何使npm真正尊重我的锁定文件?

大佬总结

以上是大佬教程为你收集整理的为什么“ npm install”会重写package-lock.json?全部内容,希望文章能够帮你解决为什么“ npm install”会重写package-lock.json?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。