Перейти до основного змісту
Версія: Далі

pnpm add <pkg>

Встановлює пакет та будь-які пакети, від яких він залежить. За замовчуванням будь-який новий пакет встановлюється як 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 registry

pnpm add package-name встановить останню версію package-name з npm registry за замовчуванням.

Якщо команда виконується в робочій області, команда спочатку спробує перевірити, чи інші проєкти у робочій області використовують вказаний пакет. Якщо так, буде встановлено вже використаний діапазон версій.

Ви також можете встановити пакети за:

  • тегом: 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.

Встановлення з локальної файлової системи

Існує два способи встановлення з локальної файлової системи:

  1. з tarball архіву (.tar, .tar.gz, or .tgz)
  2. з каталогу

Приклади:

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

Коли ви встановлюєте з каталогу, буде створено symlink в node_modules поточного проєкту, тому це те саме, що запустити pnpm link.

Встановити з віддаленого tarball архіву

Аргументом має бути URL-адреса, яка починається з "http://" або "https://".

Приклад:

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

Встановити з репозиторію Git

pnpm add <git remote url>

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 що використовується в pnpm за замовчуванням.

--save-peer

Використання --save-peer додасть один або кілька пакетів до peerDependencies та встановить їх як залежності для розробки (dev dependencies).

--ignore-workspace-root-check

Додавання нової залежності до пакета кореневого робочого простору завершиться невдачею, якщо не використовується прапорець --ignore-workspace-root-check або -w.

Наприклад, pnpm add debug -w.

--global, -g

Встановлює модуль глобально.

--workspace

Додає нову залежність лише у випадку, якщо вона знаходиться в робочому просторі.

--filter <package_selector>

Докладніше про фільтрацію.