add | Installs a package and any packages that it depends on. By default, any new package is installed as a production dependency |
install, i | Pnpm install is used to install all dependencies for a project.
In a CI environment, installation fails if a lockfile is present but needs an update.
Inside a workspace, pnpm install installs all dependencies in all the projects.
If you want to disable this behavior, set the recursive-install setting to false |
install-test, it | Runs pnpm install followed immediately by pnpm test. It takes exactly the same arguments as pnpm install |
update, upgrade, up | Pnpm update updates packages to their latest version based on the specified range.
When used without arguments, updates all dependencies. You can use patterns to update specific dependencies |
remove, rm, uninstall, un | Removes packages from node_modules and from the project's package.json |
link, ln | Makes the current local package accessible system-wide, or in another location |
unlink | Unlinks a system-wide package (inverse of pnpm link).
If called without arguments, all linked dependencies will be unlinked.
This is similar to yarn unlink, except pnpm re-installs the dependency after removing the external link |
import | Pnpm import generates a pnpm-lock.yaml from an npm package-lock.json (or npm-shrinkwrap.json) file |
rebuild, rb | Rebuild a package |
prune | Removes unnecessary packages |
fetch | EXPERIMENTAL FEATURE: Fetch packages from a lockfile into virtual store, package manifest is ignored: https://pnpm.io/cli/fetch |
patch | This command will cause a package to be extracted in a temporary directory intended to be editable at will |
patch-commit | Generate a patch out of a directory |
audit | Checks for known security issues with the installed packages.
If security issues are found, try to update your dependencies via pnpm update.
If a simple update does not fix all the issues, use overrides to force versions that are not vulnerable.
For instance, if lodash@<2.1.0 is vulnerable, use overrides to force lodash@^2.1.0.
Details at: https://pnpm.io/cli/audit |
list, ls | This command will output all the versions of packages that are installed, as well as their dependencies, in a tree-structure.
Positional arguments are name-pattern@version-range identifiers, which will limit the results to only the packages named. For example, pnpm list "babel-*" "eslint-*" semver@5 |
outdated | Checks for outdated packages. The check can be limited to a subset of the installed packages by providing arguments (patterns are supported) |
why | Shows all packages that depend on the specified package |
run, run-script | Runs a script defined in the package's manifest file |
exec | Execute a shell command in scope of a project.
node_modules/.bin is added to the PATH, so pnpm exec allows executing commands of dependencies |
test, t, tst | Runs an arbitrary command specified in the package's test property of its scripts object.
The intended usage of the property is to specify a command that runs unit or integration testing for your program |
start | Runs an arbitrary command specified in the package's start property of its scripts object. If no start property is specified on the scripts object, it will attempt to run node server.js as a default, failing if neither are present.
The intended usage of the property is to specify a command that starts your program |
publish | Publishes a package to the registry.
When publishing a package inside a workspace, the LICENSE file from the root of the workspace is packed with the package (unless the package has a license of its own).
You may override some fields before publish, using the publishConfig field in package.json. You also can use the publishConfig.directory to customize the published subdirectory (usually using third party build tools).
When running this command recursively (pnpm -r publish), pnpm will publish all the packages that have versions not yet published to the registry |
recursive, m, multi, -r | Runs a pnpm command recursively on all subdirectories in the package or every available workspace |
server | Manage a store server |
store | Managing the package store |