pnpm add <pkg>
Installs a package and any packages that it depends on. By default, any new package is installed as a production dependency.
#
TL;DRCommand | Meaning |
---|---|
pnpm add sax | Save to dependencies |
pnpm add -D sax | Save to devDependencies |
pnpm add -O sax | Save to optionalDependencies |
pnpm add sax@next | Install from the next tag |
pnpm add sax@3.0.0 | Specify version 3.0.0 |
#
Supported package locations#
Install from npm registrypnpm add package-name
will install the latest version of package-name
from
the npm registry by default. To install a package from
another registry, you can use the tarball link (see the corresponding guide).
You may also install packages by:
- 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"
#
Install from the workspaceNote that when adding dependencies and working within a workspace, packages
will be installed from the configured sources, depending on whether or not
link-workspace-packages
is set, and use of the
workspace: range protocol
.
#
Install from local file systemThere are two ways to install from the local file system:
- from a tarball file (
.tar
,.tar.gz
, or.tgz
) - from a directory
Examples:
pnpm add ./package.tar.gzpnpm add ./some-directory
When you install from a directory, a symlink will be created in the current
project's node_modules
, so it is the same as running pnpm link
.
#
Install from remote tarballThe argument must be a fetchable URL starting with "http://" or "https://".
Example:
pnpm add https://github.com/indexzero/forever/tarball/v0.5.6
#
Install from Git repositorypnpm add <git remote url>
Installs the package from the hosted Git provider, cloning it with Git.
You can use a protocol for certain Git providers. For example,
pnpm add github:user/repo
You may install from Git by:
- latest commit from master:
pnpm add kevva/is-positive
- commit:
pnpm add kevva/is-positive#97edff6f525f192a3f83cea1944765f769ae2678
- branch:
pnpm add kevva/is-positive#master
- version range:
pnpm add kevva/is-positive#semver:^2.0.0
#
Options#
--save-prod, -PInstall the specified packages as regular dependencies
.
#
--save-dev, -DInstall the specified packages as devDependencies
.
#
--save-optional, -OInstall the specified packages as optionalDependencies
.
#
--save-exact, -ESaved dependencies will be configured with an exact version rather than using pnpm's default semver range operator.
#
--save-peerAdded in: v3.2.0
Using --save-peer
will add one or more packages to peerDependencies
and
install them as dev dependencies.
#
--ignore-workspace-root-check, -WAdded in: v3.6.0
Adding a new dependency to the root workspace package fails, unless the
--ignore-workspace-root-check
or -W
flag is used.
For instance, pnpm add debug -W
.
#
--globalInstall a package globally.
#
--workspaceAdded in: v4.4.0
Only adds the new dependency if it is found in the workspace.