Перейти к основному содержимому
Версия: Будущая

pnpm add <пакет>

Устанавливает пакет и все его зависимости. По умолчанию любой новый пакет устанавливается как production зависимость.

TL;DR

КомандаОбозначение
pnpm add saxСохранить в dependencies
pnpm add -D saxСохранить в devDependencies
pnpm add -O saxСохранить в optionalDependencies
pnpm add -g saxУстановить глобально
pnpm add sax@nextУстановить из тега next
pnpm add sax@3.0.0Указать версию 3.0.0

Поддерживаемые источники пакетов

Установить из npm реестра

pnpm add имя-пакета установит последнюю версию имя-пакета с npm реестра по умолчанию.

Если команда выполняется в рабочем пространстве (воркспейсе), она сначала попытается проверить, используют ли другие проекты в рабочем пространстве (воркспейсе) указанный пакет. Если да, то будет установлена версия из уже используемого диапазона версий.

Вы также можете устанавливать пакеты такими способами:

  • тег: pnpm add express@nightly
  • версия: pnpm add express@1.0.0
  • диапазон версий: pnpm add express@2 react@">=0.1.0 <0.2.0"

Установить из воркспейса

Обратите внимание, что при добавлении зависимостей и работе в воркспейсе, пакеты будут устанавливаться из настроенных источников, в зависимости от того, установлена ли опция link-workspace-packages и используется ли workspace: range protocol.

Установить из локальной файловой системы

Есть два способа установки из локальной файловой системы:

  1. из архива (.tar, .tar.gz, или .tgz)
  2. из папки

Примеры:

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

При установке из папки, будет создана символическая ссылка в node_modules текущего проекта, поэтому это тоже самое что и запуск команды pnpm link.

Установить из архива по ссылке

Аргументом должен быть URL-адрес, начинающийся с "http://" или "https://".

Пример:

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

Установить из Git репозитория

pnpm add <ссылка на git репозиторий>

Installs the package from the hosted Git provider, cloning it with Git.

You may install packages from Git by:

  • Latest commit from default branch:
pnpm add kevva/is-positive
  • Git commit hash:
pnpm add kevva/is-positive#97edff6f525f192a3f83cea1944765f769ae2678
  • Git branch:
pnpm add kevva/is-positive#master
  • Git branch relative to refs:
pnpm add zkochan/is-negative#heads/canary
  • Git tag:
pnpm add zkochan/is-negative#2.0.1
  • V-prefixed Git tag:
pnpm add andreineculau/npm-publish-git#v0.0.7
  • Version range:
pnpm add kevva/is-positive#semver:^2.0.0

Semver

You can specify version (range) to install using the semver: parameter. For example:

  • Strict semver:
pnpm add zkochan/is-negative#semver:1.0.0
  • V-prefixed strict semver:
pnpm add andreineculau/npm-publish-git#semver:v0.0.7
  • Semver version range:
pnpm add kevva/is-positive#semver:^2.0.0
  • V-prefixed semver version range:
pnpm add andreineculau/npm-publish-git#semver:<=v0.0.7

Subdirectory

You may also install just a subdirectory from a Git-hosted monorepo using the path: parameter. For instance:

pnpm add RexSkz/test-git-subfolder-fetch#path:/packages/simple-react-app

Full URL

If you want to be more explicit or are using alternative Git hosting, you might want to spell out full Git URL:

# git+ssh
pnpm add git+ssh://git@github.com:zkochan/is-negative.git#2.0.1

# https
pnpm add https://github.com/zkochan/is-negative.git#2.0.1

Providers shorthand

You can use a protocol shorthand [provier]: for certain Git providers:

pnpm add github:zkochan/is-negative
pnpm add bitbucket:pnpmjs/git-resolver
pnpm add gitlab:pnpm/git-resolver

If [provider]: is omited, it defaults to github:.

Parameters combination

It is possible to combine multiple parameters by separating them with &. This can be useful for forks of monorepos:

# Install git branch `beta`
# Install only subfolder `/packages/simple-react-app`
pnpm add RexSkz/test-git-subfolder-fetch.git#beta&path:/packages/simple-react-app

Опции

--save-prod, -P

Установить указанные пакеты как dependencies.

--save-dev, -D

Установить указанные пакеты как devDependencies.

--save-optional, -O

Установить указанные пакеты как optionalDependencies.

--save-exact, -E

Сохраненные зависимости будут настроены с использованием точной версии, а не с помощью оператора диапазона semver, который используется по умолчанию.

--save-peer

Используя --save-peer, можно добавить один или несколько пакетов к peerDependencies и установить их как dev зависимости.

--ignore-workspace-root-check

Добавление новой зависимости к корневому пакету рабочего пространства завершается неудачно, если не используется флаг --ignore-workspace-root-check или -w.

Например, pnpm add debug -w.

--global, -g

Установить пакет глобально.

--workspace

Добавляет новую зависимость, только если она найдена в воркспейсе.

--filter <селектор пакета>

Подробнее о фильтрации.