如何使用NPM仅安装在可选依赖项中声明的单个依赖项?

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

给定一个

package.json
文件,其中包含多个
optionalDependencies
,如下所示:

{
  "name": "myapp",
  "version": "1.0.0",
  "dependencies": {
    "hono": "^4.5.3"
  },
  "optionalDependencies" {
    "@cloudflare/puppeteer": "0.0.13",
    "puppeteer-core": "22.6.1"
  }
}

如何安装单个可选依赖项而不安装其他依赖项?

使用不带开关的

npm install
安装所有其他可选依赖项,例如:

npm install --omit=optional && npm install [email protected]

npm install
--omit=optional
一起使用可防止安装软件包,例如:

npm install --omit=optional && npm install --omit=optional [email protected]

这是在 NPM 10.8.3 上测试的。我正在创建一个针对多个平台(NodeJS、AWS Lambda、Cloudflare Workers...)的 Hono 项目,每个平台都需要一组不同的依赖项。

node.js npm npm-install
1个回答
0
投票

目前没有内置功能来安装

package.json
中提到的单个依赖项,您需要将特定的包显式安装到每个平台。

您可以使用

-O
--no-save
标志。

  • -O
    将包保存并安装为可选依赖项(修改
    package.json
    )。
  • --no-save
    防止保存到
    package.json
    并将软件包安装为无关的。

如果您不介意修改

package.json
那么您可以使用
-O
标志继续前进。

npm i --include=prod && npm i -O [email protected]

npm i --include=prod && npm i --no-save [email protected]

我建议在生产中使用

--include
标志,而不是
--omit
,它也会安装开发依赖项

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