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.
If executed in a workspace, the command will first try to check whether other projects in the workspace use the specified package. If so, the already used version range will be installed.
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.