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

问题描述 投票:0回答:2

今天,我从共享 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
},

"dev": true
在几个包裹中的
npm install
之后就消失了。我应该担心 NPM 这样做吗?我不希望安装这些软件包进行生产。

这个关于

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

npm npm-install package-lock.json
2个回答
3
投票

您的

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

带有

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

这意味着它是直接或间接需要的,仅通过

devDependencies
而不是通过
dependencies
中的任何内容。

如果您执行

npm install --production
或环境中有
NODE_ENV=production
,则不会安装。


0
投票

您需要从 git config 中删除

legacy-peer-deps=true

© www.soinside.com 2019 - 2024. All rights reserved.