如何安装 NPM 模块的所有依赖类型(Prod、Dev、Optional、Peer)?

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

我的目标是下载 npm 项目的整个依赖关系树,包括生产、开发、可选和对等依赖关系,这样我就可以将它们上传到我的离线 Sonatype-Nexus-Repository。

根据npm文档,

--include
选项可以启用不同类型依赖项的安装,例如可选、开发、对等和生产依赖项。例如:

npm install PACKAGE_NAME --no-save --include=prod --include=dev --include=optional --include=peer

但是,普通的 npm install 和上述命令都无法成功下载所有依赖项。例如,让我们考虑一下 package.json 中定义的 [email protected] 的依赖关系:

"dependencies": {
  "esbuild": "^0.21.3",
  "postcss": "^8.4.43",
  "rollup": "^4.20.0"
},
"optionalDependencies": {
  "fsevents": "~2.3.3"
},
"devDependencies": {
  "@ampproject/remapping": "^2.3.0",
  "@babel/parser": "^7.25.6",
  "@jridgewell/trace-mapping": "^0.3.25",
  "sass": "^1.77.8",
  "sass-embedded": "^1.77.8",
  ...
},
"peerDependencies": {
  "@types/node": "^18.0.0 || >=20.0.0",
  "less": "*",
  "lightningcss": "^1.21.0",
  ...
}

当我运行上述命令(

npm install with --include flag
s)时,它仅安装依赖项并跳过 devDependency、OptionalDependency 和 PeerDependency。

例如运行后:

npm install [email protected] --no-save --include=prod --include=dev --include=optional --include=peer

node_modules 文件夹中 ls 命令的输出如下所示:

@esbuild  esbuild  nanoid  picocolors  postcss  @rollup  rollup  source-map-js  @types  vite

此列表仅包含主要依赖项,而其他类型完全被忽略。

我在寻找什么:

我需要一种方法来安装 npm 模块的所有依赖项,包括:

dependencies
devDependencies
optionalDependencies
peerDependencies

是否有特定的 npm 命令或解决方法来确保所有依赖项类型安装在一起?

(附加信息):为什么我需要所有包?我的目标是将项目的所有依赖项上传到离线的私有 npm 存储库(Sonatype Nexus Repository)。该存储库将作为包源,使我能够执行 npm install 并直接从私有存储库检索所有必需的包。

npm npm-install nexus nexus3 npm-package
1个回答
0
投票

注意:我通过执行此命令使用最新的

npm
版本
npm install -g npm@latest

返回...你尝试过这个吗?

npm install <package-name-here> --save; npm install peer-<package-name-here> --save; npm install dev-<package-name-here> --save-dev; npm install optional-<package-name-here> --save-optional

让我说清楚:

npm install express --save; npm install peer-express --save; npm install dev-express --save-dev; npm install optional-express --save-optional

看看它是否有效。

不幸的是...

在您注意到 peerDependency issues 部分之前(正确执行命令后),请先访问 herehere

还是...

希望有帮助。

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