npm install 从 package-lock.json 中的几个包中删除"dev":true?



今天,我从共享的 Git 存储库中提取了最新版本,并注意到我团队中的另一位开发人员添加了一个 NPM 包。所以我跑npm install,然后看到我的package-lock.json文件发生了变化。当我深入研究更改的内容时,我发现"dev": true已从几个包描述中删除,例如:

"some-package": {
  "version": "1.0.0",
  "resolved": "https://registry.npmjs.org/whatever/-/some-package-1.0.0.tgz",
  "integrity": "some-big-hash",
  "dev": true
},

从几个包中npm install后,"dev": true消失了。我应该担心 NPM 这样做吗?我不希望为生产环境安装这些软件包。

这个问题"dev": true有些相关,但还没有一个好的答案,我仍然想知道我是否做错了什么。为什么 NPM 要删除它?

您的"dev": true消失了,因为包成为非开发依赖项。

具有"dev": true的包仅在开发中需要,而在生产中不需要。

这意味着它只能直接或间接地通过devDependencies而不是通过dependencies中的任何内容。

如果您确实npm install --production或在环境中有NODE_ENV=production,则不会安装它。

最新更新