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

AJ.*_*AJ. 5 npm npm-install package-lock.json

今天我从共享的 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
},
Run Code Online (Sandbox Code Playgroud)

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

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

Den*_*owe 3

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

仅在开发中才需要包含的软件包"dev": true,在生产中不需要。

这意味着它是直接或间接需要的,仅通过devDependencies而不是通过 中的任何内容dependencies

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