node.js - package-lock.json 文件,包含 "optional": true 的包

标签 node.js npm

我的一个同事的 PR 包含一个 package-lock.json 更新,其中添加了 "optional": true:

 "minimist": {
   "version": "0.0.8",
   "bundled": true,
-  "dev": true
+  "dev": true,
+  "optional": true
 },
 "minipass": {

即使在谷歌搜索之后,我也不确定这意味着什么。有人可以解释一下吗?

最佳答案

来自 https://docs.npmjs.com/files/package-lock.json#optional :

If true then this dependency is either an optional dependency ONLY of the top level module or a transitive dependency of one. This is false for dependencies that are both an optional dependency of the top level and a transitive dependency of a non-optional dependency of the top level.

合并此更改是安全的。

您看到此更改的原因很可能是因为 npm slightly changed how package-lock.json is structured in version 6.6 .你的伙伴基本上是在先前使用 npm 6.5- 生成的 package-lock.json 上使用 npm 6.6+ 运行 npm install

您应该能够通过确保团队中的每个人都使用最新版本的 npm 来避免此类问题。

关于node.js - package-lock.json 文件,包含 "optional": true 的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54411377/

相关文章:

node.js - 应用程序未连接到 Mongoose 数据库

node.js - gulp 默认值,任务从未定义 : default, 请检查文档以了解正确的 gulpfile 格式

angular - 如何在 Angular 11 组件 TS 中使用 Bootstrap 5 JS

node.js - React.js 项目中缺少依赖项

javascript - Express 服务器不提供静态文件

node.js - 如何同时使用 "web-push"和 "fcm-push" Node 包?

sql-server - Nodejs API 批量发布,正文中包含 JSON 数据

javascript - 使用 npm 作为构建工具连接文件

javascript - 使用 token 在后端和前端识别用户进行身份验证

javascript - 在index.html 上创建node.js 服务器时未呈现扩展文件