给定一个
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 项目,每个平台都需要一组不同的依赖项。
目前没有内置功能来安装
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
,它也会安装开发依赖项