【发布时间】:2017-12-16 13:51:00
【问题描述】:
将我的 NPM 更新到最新版本(从 3.X 到 5.2.0)并在现有项目上运行 npm install 后,我得到一个自动创建的 package-lock.json 文件。
我可以告诉我package-lock.json 给了我一个精确的依赖树而不是package.json。
仅从该信息来看,package.json 似乎是多余的,不再需要。
它们都是 NPM 工作所必需的吗?
仅使用package-lock.json 文件是否安全或可能?
package-lock.json 上的文档(doc1、doc2)没有提及任何相关内容。
编辑:
经过深思熟虑后,我得出的结论是,如果有人想将您的项目与旧版本的 NPM(5.x 之前)一起使用,它仍然会安装所有依赖项,但版本不太准确(补丁版本)
【问题讨论】:
-
@Omri 除非您以 java 方式执行此操作,并且工具版本由您的项目确定。 IE。如果我在我的回购中回到 1 年,它使用的是旧版本的 gradle,所以我从不担心。
-
大多数人不做我推荐的事情,这就是为什么 npm 可能不得不同时保留 java 中的 where,gradle wrapper 被设置为完全做到这一点,这样他们就可以从一个文件移动到另一个文件并且没有向后兼容的复制。
标签: npm npm-install package.json package-lock.json