npm 5 was released today,其中一个新功能包括通过创建package-lock.json文件进行确定性安装.

这个文件应该保存在源代码管理中吗?

我假设它类似于yarn.lockcomposer.lock,它们都应该保存在源代码控制中.

推荐答案

是的,package-lock.json计划被判断进源代码管理.如果您使用的是npm 5+,您可能会在命令行上看到此通知:created a lockfile as package-lock.json. You should commit this file.根据npm help package-lock.json:

package-lock.json是自动生成的,适用于任何需要npm的操作

This file is intended to be committed into source repositories,发球

  • 描述依赖关系树的单一表示形式,以确保团队成员、部署和持续集成能够安装完全相同的依赖关系.

  • 为用户提供一个工具,让他们可以"穿越"到之前的node_modules个状态,而无需提交目录本身.

  • 通过可读的源代码管理差异,提高树更改的可见性.

  • 并通过允许npm跳过以前安装的包的重复元数据解析来优化安装过程.

关于package-lock.json的一个关键细节是,它无法发布,而且

如果package-lock.jsonnpm-shrinkwrap.json都存在于

Node.js相关问答推荐

查找或展开Sharepoint页面标题区域图像- Microsoft Curve API

promise 所有映射或反对

Node.js分页返回空数组

仅在一次查询中 MongoDB 上最近的一对位置

2023年如何在Node.js中使用Gmail发送邮箱?

Prisma,只有一个用户的行可以有真值,@@unique(userId, isActive)

为什么它无法发送发布请求并更改为 chrome 中的获取方法?

为什么后端开发需要单独的服务器?

每秒从套接字传来的数据有哪些存储方式?

Electron 模板(Typescript + Webpack)中的这个 Electron Forge ERROR 是什么?

使用mongoose 创建新文档并仅取回选定的字段

Node.js 大文件上传到 MongoDB 阻塞了事件循环和工作池

如何使动态私有IP地址静态?

bash:npm:找不到命令?

ChildProcess 关闭、退出事件之间的区别

MongoDB Node findone如何处理没有结果?

nodejs v10.3.0 的 gulp 任务问题:src\node_contextify.cc:629: Assertion `args[1]->IsString()' failed

nodeJS - 如何使用 express 创建和读取会话

什么是 JavaScript 中的REPL?

Node.js - 判断是否安装了模块而不实际需要它