当前位置: 首页 > 知识库问答 >
问题:

为什么“npm安装”会修改包锁。json?那么为什么要把它提交给git呢?

邵亦
2023-03-14

当我在一个项目中运行“npm安装”时,它经常修改package-lock.json,例如,如果我从另一台计算机上处理同一个项目(具有不同的节点或npm版本)。

但同时,文档建议将该文件添加到版本控制中(在我的例子中是git):

https://docs.npmjs.com/files/package-lock.json

此文件旨在提交到源存储库中,并用于各种用途:。。。

那么,当切换工作机器时,或者当其他人安装npm时,我应该来回提交npm所做的更改吗?这将是一场噩梦。

目前我只是放弃对包锁的任何更改。由npm制作的json,一直运行良好。所以我还是把它加进去吧。gitignore。。。

我做错了吗?我是否应该使用npm ci?我不会把我的电脑叫做“CI”,它只是一台开发机器,我为什么要在那里使用它呢?

基本上我和这位先生有同样的问题:

https://github.com/npm/npm/issues/18103#issuecomment-370401935

(可悲的是,我不能添加对该问题的评论或创建一个新问题,npm回购已禁用问题)

共有1个答案

温嘉玉
2023-03-14

是的,你想提交你的package-lock.json文件到源代码管理。这背后的原因是为了确保每个下拉代码的用户都下载并安装了每个包的所有相同版本。包含该文件还有其他一些原因,例如跟踪对包树的更改以进行审计。

 类似资料:
  • 本文向大家介绍什么是闭包(closure)为什么要用它相关面试题,主要包含被问及什么是闭包(closure)为什么要用它时的应答技巧和注意事项,需要的朋友参考一下 闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。 闭包的特性: 1.函数内再嵌套函数

  • 问题内容: 他们在博客文章中宣布yarn(npm的替代客户端),他们说:“最简单的入门方法是运行”。但是,如果您转到其文档中的“ install yarn”页面 ,则“ npm install yarn”未在任何特定于平台的安装页面上列出,并且仅作为“ Alternatives”页面上三个选项中的第三个选项提供。 。此外,当您进行纱线编织时,它会显示弃用警告:“建议针对您的环境使用本地安装方法来安

  • 我错过了什么?如何让npm真正尊重我的锁文件?

  • 问题内容: serialVersionUID缺少a时,Eclipse发出警告。 问题答案: 首先,我需要解释什么是序列化。 序列化 允许将对象转换为流,以便通过网络发送该对象,或者保存到文件或保存到DB以供使用。 有一些序列化规则。 仅当对象的类或其超类实现接口时,该对象才可序列化 一个对象是可序列化的(本身实现了接口),即使其超类不是。但是,可序列化类的层次结构中的第一个超类(不实现Serial

  • 本文向大家介绍kafka 为什么那么快?相关面试题,主要包含被问及kafka 为什么那么快?时的应答技巧和注意事项,需要的朋友参考一下 Cache Filesystem Cache PageCache缓存 顺序写 由于现代的操作系统提供了预读和写技术,磁盘的顺序写大多数情况下比随机写内存还要快。 Zero-copy 零拷技术减少拷贝次数 Batching of Messages 批量量处理。合并小

  • 问题内容: 为什么需要放入GUI更新代码? 为什么Swing本身无法在内部对其进行处理?为什么调用者必须关心swing如何处理UI更新? 问题答案: 摆动对象不是线程安全的。顾名思义,允许在以后的某个时间执行任务;但更重要的是,该任务将在AWT事件分配线程上执行。使用时r,任务是异步执行的;还有,直到任务完成执行后才会返回。