克隆项目后,直接使用 npm install 装包,git status会显示修改 package-lock.json

npm Version

node Version
image.png

Environment
直接 clone 的项目,并没有做任何的修改

What is expected?
当执行 npm install 后,git status 的工作区是干净的。

What is actually happening?
npm install 被改了.PNG
package-lock.json被修改了,添加了一些代码上去

解决
初步使用 npm install --no-save,能达到预期的效果,但是原因还暂未知,这个方式是否存在一些隐患勒?

疑问
为什么会被修改,网上也有一些相关的问题,现象似乎还有点不一样,但是看完还是没有解决疑问。有的比较多的说的是包更新的问题。

package-lock.json的不就是用来锁住版本吗,package.json没有改动,为什么会加一些内容上去。有的说 npm ci 可以解决?有大锅知道怎么回事,望请教一下,谢谢

阅读 2.2k
1 个回答

你可以使用npm ci命令。具体请参考这个stackoverflow回答

==补充==

简单翻译下:
npm install 时,一旦package.json发现有新版本的包(比如你没有指定版本如1.2.0,而是~1.2.0或^1.2.0),那么它会重写package-lock.json文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题