跳到主要内容

pnpm add <pkg>

安装软件包及其依赖的任何软件包。 默认情况下,任何新软件包都安装为生产依赖项。

摘要:

命令释义
pnpm add sax保存到 dependencies
pnpm add -D sax保存到 devDependencies
pnpm add -O sax保存到 optionalDependencies
pnpm add -g saxInstall package globally
pnpm add sax@nextnext 标签下安装
pnpm add sax@3.0.0安装指定版本 3.0.0

支持的包地址

从 npm 安装

pnpm add package-name 默认会从 npm registry 安装最新的 package-name

如果在 workspace 中执行,该命令将首先去检查这个 worksapce 中的其他项目是否已经使用了这个指定的包。 如果是的话,就使用这个包的版本范围来进行安装。

你还可以通过以下方式安装包:

  • tag: pnpm add express@nightly
  • version: pnpm add express@1.0.0
  • version range: pnpm add express@2 react@">=0.1.0 <0.2.0"

从 workspace 安装

需要注意的是当我们使用 workspace 安装依赖时,会从已配置的源处进行安装,当然取决于是否设置了 link-workspace-packages,以及是否使用了 workspace: range protocol

从本地安装

从本地安装的两种方法:

  1. 源码文件 (.tar, .tar.gz, or .tgz)
  2. 本地目录

示例:

pnpm add ./package.tar.gz
pnpm add ./some-directory

当从目录安装时,会在当前项目目录中生成一个 symlink node_modules, 因此这里跟执行 pnpm link 是一致的.

从远端安装 Tar 包

参数必须是一个可访问的 URL,"http://" 或者 "https://" 开头的。

示例:

pnpm add https://github.com/indexzero/forever/tarball/v0.5.6

从 git 安装

pnpm add <git remote url>

通过 git clone, 从 git 作者处安装包. 可以用协议准确的指定 git 作者 例如, pnpm add github:user/repo

您可以通过以下方式从 Git 安装:

  • 来自 master 的最新提交: pnpm add kevva/is-positive
  • 提交: pnpm add keva/is-positive#97edff6f525f192a3f83cea194765f769ae2678
  • 分支: pnpm add keva/is-positive#master
  • 版本范围: pnpm add kevva/is-positive#semver:^2.0.0

You may also install just a subdirectory from a Git-hosted monorepo. 例如:

pnpm add myorg/repo#path:packages/foo

It is possible to combine multiple parameters by separating them with &. For instance, you can extend the above command by specifying which branch to fetch from:

pnpm add myorg/repo#path:packages/foo&next

配置项

--save-prod, -P

将指定的软件包安装为常规的 dependencies

--save-dev, -D

将指定的 packages 安装为 devDependencies

--save-optional, -O

将指定的 packages 安装为 optionalDependencies

--save-exact, -E

保存的依赖会被指定为一个确切的版本, 而不是使用 pnpm 的默认 semver range operator 配置.

--save-peer

使用 --save-peer 会添加一个或多个 peerDependencies 的 package 并安装到 dev dependencies.

--ignore-workspace-root-check

使用--ignore-workspace-root-check-w 来向 workspace 根目录添加依赖。

例如, pnpm add debug -w.

--global, -g

安装全局依赖

--workspace

仅添加在 workspace 找到的依赖项.

--filter <package_selector>

阅读更多有关 filter 的内容。