Підтримувані джерела пакунків
pnpm підтримує встановлення пакунків з різних джерел. Ці джерела поділені на дві категорії: надійні джерела та екзотичні джерела.
Екзотичні джерела (такі як репозиторії Git або прямі URL-адреси tar-архівів) можуть створювати ризики для ланцюга постачання, якщо їх використовують перехідні залежності. Ви можете запобігти використанню екзотичних джерел перехідними залежностями, встановивши для blockExoticSubdeps значення true.
Надійні джерела
Надійні джерела вважаються безпечними для прямих і перехідних залежностей.
Реєстр npm
pnpm add package-name will install the latest version of package-name from
the npm registry by default.
Якщо команда виконується в робочій області, команда спочатку спробує перевірити, чи інші проєкти у робочій області використовують вказаний пакунок. Якщо так, буде встановлено вже використаний діапазон версій.
Ви також можете встановити пакунки використовуючи:
- 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"
Реєстр JSR
Додано у: v10.9.0
Щоб встановити пакунки з реєстру JSR, використовуйте префікс протоколу jsr::
pnpm add jsr:@hono/hono
pnpm add jsr:@hono/hono@4
pnpm add jsr:@hono/hono@latest
Це працює так само як встановлення з реєстру npm, але вказує pnpm натомість отримати пакунок з JSR.
Робочий простір
Зауважте, що під час додавання залежностей та роботи у [робочому просторі] пакунки буде встановлено з налаштованих джерел, залежно від того, чи встановлено параметр [linkWorkspacePackages], та використання [workspace: range protocol`].
Локальна файлова система
Існує два способи встановлення з локальної файлової системи:
- from a tarball file (
.tar,.tar.gz, or.tgz) - з теки
Приклади:
pnpm add ./package.tar.gz
pnpm 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.
Екзотичні джерела
Екзотичні джерела корисні для розробки, але можуть створювати ризики для ланцюга постачання, якщо їх використовувати перехідними залежностями.
Віддалені архіви
Аргументом має бути URL-адреса, яка починається з "http://" або "https://".
Приклад:
pnpm add https://github.com/indexzero/forever/tarball/v0.5.6
Репозиторій Git
pnpm add <git remote url>
Встановлює пакунок з хостингу Git-провайдера, клонуючи його за допомогою Git.
Ви можете встановити пакунок з Git використовуючи:
- Останній коміт зі стандартної гілки:
pnpm add kevva/is-positive
- Git хеш коміту:
pnpm add kevva/is-positive#97edff6f525f192a3f83cea1944765f769ae2678
- Гілку Git:
pnpm add kevva/is-positive#master
- Гілку Git відносно refs:
pnpm add zkochan/is-negative#heads/canary
- Теґ Git:
pnpm add zkochan/is-negative#2.0.1
- Теґ Git з V-префіксом:
pnpm add andreineculau/npm-publish-git#v0.0.7
Встановлення з репозиторію Git з використанням semver
You can specify version (range) to install using the semver: parameter. Наприклад:
- Конкретна версія:
pnpm add zkochan/is-negative#semver:1.0.0
- Конкретна версія з V-префіксом:
pnpm add andreineculau/npm-publish-git#semver:v0.0.7
- Діапазон версій:
pnpm add kevva/is-positive#semver:^2.0.0
- Діапазон версій з префіксом V:
pnpm add andreineculau/npm-publish-git#semver:<=v0.0.7
Встановлення з вкладених тек репозиторію Git
You may also install just a subdirectory from a Git-hosted monorepo using the path: parameter. Наприклад:
pnpm add RexSkz/test-git-subfolder-fetch#path:/packages/simple-react-app
Встановлення з репозиторію Git з використанням повного URL
Якщо ви хочете бути точнішими або використовуєте альтернативний хостинг Git, ви можете вказати повну URL-адресу Git:
# 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
Встановлення з Git-репозиторію з використанням короткого коду хостинг-провайдера
Ви можете використовувати скорочення протоколу [провайдер]: для певних провайдерів Git:
pnpm add github:zkochan/is-negative
pnpm add bitbucket:pnpmjs/git-resolver
pnpm add gitlab:pnpm/git-resolver
Якщо [провайдер]: не вказано, стандартним значенням буде github:.
Встановлення зі сховища Git, комбінуючи різні параметри
It is possible to combine multiple parameters by separating them with &. Це може бути корисним для відгалужень монорепо:
pnpm add RexSkz/test-git-subdir-fetch.git#beta\&path:/packages/simple-react-app
Installs from the beta branch and only the subdirectory at /packages/simple-react-app.