Перейти до основного змісту
Версія: 10.x

Встановлення

Попередні вимоги

Якщо ви не використовуєте окремий скрипт або @pnpm/exe для встановлення pnpm, то у вашій системі має бути встановлений Node.js (принаймні v18.12).

Використання окремого скрипта

Ви можете встановити pnpm, навіть якщо у вас не встановлено Node.js, за допомогою наступних скриптів.

У Windows

попередження

Іноді Windows Defender може заблокувати наш виконуваний файл, якщо ви встановлюєте pnpm у такий спосіб.

Через цю проблему ми рекомендуємо встановлювати pnpm за допомогою npm або Corepack у Windows.

Використовуючи PowerShell:

$env:PNPM_VERSION = "10.0.0"; Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression

В системах POSIX

curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=10.0.0 sh -

Якщо у вас не встановлено curl, ви можете скористатися wget:

wget -qO- https://get.pnpm.io/install.sh | env PNPM_VERSION=10.0.0 sh -
підказка

Після цього ви можете скористатися командою pnpm env для встановлення Node.js.

У контейнері Docker

# bash
wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash -
# sh
wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.shrc" SHELL="$(which sh)" sh -
# dash
wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.dashrc" SHELL="$(which dash)" dash -

Встановлення конкретної версії

Перед запуском скрипту встановлення ви можете додатково встановити змінну оточення PNPM_VERSION, щоб встановити певну версію pnpm:

curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh -

Використовуючи Corepack

Починаючи з версії 16.13, Node.js постачає Corepack для керування менеджерами пакунків. Це експериментальна функція, тому вам потрібно ввімкнути її, виконавши:

інформація

Якщо ви встановили Node.js з pnpm env Corepack не буде встановлено у вашій системі, вам потрібно буде встановити його окремо. Див. #4029.

corepack enable pnpm

Це автоматично встановить pnpm у вашій системі.

Ви можете закріпити версію pnpm, яка використовується у вашому проєкті, за допомогою наступної команди:

corepack use pnpm@latest-10

Це додасть поле "packageManager" у ваш локальний package.json, яке вкаже Corepack завжди використовувати певну версію в цьому проєкті. Це може бути корисно, якщо вам потрібна відтворюваність, оскільки всі розробники, які використовують Corepack, використовуватимуть ту саму версію, що й ви. Коли буде випущена нова версія pnpm, ви можете повторно запустити наведену вище команду.

Використання інших менеджерів пакунків

Використовуючи npm

Ми надаємо два пакунки pnpm CLI, pnpm та @pnpm/exe.

  • pnpm — це звичайна версія pnpm, для роботи якої потрібен Node.js.
  • @pnpm/exe упаковано разом з Node.js у виконуваний файл, тому його можна використовувати в системі без встановленого Node.js.
npm install -g pnpm@latest-10

або

npm install -g @pnpm/exe@latest-10

Використовуючи Homebrew

Якщо у вас встановлено менеджер пакунків, ви можете встановити pnpm за допомогою наступної команди:

brew install pnpm

Використовуючи winget

Якщо у вас встановлено winget, ви можете встановити pnpm за допомогою наступної команди:

winget install -e --id pnpm.pnpm

Використовуючи Scoop

Якщо у вас встановлено Scoop, ви можете встановити pnpm за допомогою наступної команди:

scoop install nodejs-lts pnpm

Використовуючи Choco

Якщо у вас встановлено Chocolatey, ви можете встановити pnpm за допомогою наступної команди:

choco install pnpm

Використовуючи Volta

Якщо у вас встановлено Volta, ви можете встановити pnpm за допомогою наступної команди:

volta install pnpm
підказка

Хочете використовувати pnpm на серверах CI? Див.: Безперервна інтеграція.

Сумісність

Ось список останніх версій pnpm з відповідними версіями Node.js, які вони підтримують.

Node.jspnpm 8pnpm 9pnpm 10
Node.js 14
Node.js 16✔️
Node.js 18✔️✔️✔️
Node.js 20✔️✔️✔️
Node.js 22✔️✔️✔️

Усунення несправностей

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

Припустимо, у Вас виникає подібна проблема під час запуску pnpm install:

C:\src>pnpm install
internal/modules/cjs/loader.js:883
throw err;
^



Error: Cannot find module 'C:\Users\Bence\AppData\Roaming\npm\pnpm-global\4\node_modules\pnpm\bin\pnpm.js'
←[90m at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)←[39m
←[90m at Function.Module._load (internal/modules/cjs/loader.js:725:27)←[39m
←[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)←[39m
←[90m at internal/main/run_main_module.js:17:47←[39m {
code: ←[32m'MODULE_NOT_FOUND'←[39m,
requireStack: []
}

Спочатку спробуйте знайти розташування pnpm, виконавши: which pnpm. Якщо ви використовуєте Windows, запустіть where.exe pnpm.*. Ви отримаєте розташування команди pnpm, наприклад:

$ which pnpm
/c/Program Files/nodejs/pnpm

Тепер, коли ви знаєте, де знаходиться pnpm CLI, відкрийте цю теку і видаліть усі файли, повʼязані з pnpm (pnpm.cmd, pnpx.cmd, pnpm і т.д.). Після видалення, встановіть pnpm знову, і він повинен запрацювати, як очікувалося.

Використання скороченого псевдоніма

Комусь може бути важко ввести pnpm, тому ви можете використати коротший псевдонім, наприклад, pn.

Додавання постійного псевдоніма у системах POSIX

Просто додайте наступний рядок до свого .bashrc, .zshrc або config.fish:

alias pn=pnpm

Додавання постійного псевдоніма в Powershell (Windows):

У вікні Powershell, виконайте з правами адміністратора:

notepad $profile.AllUsersAllHosts

У файлі profile.ps1, який відкриється, вставте:

set-alias -name pn -value pnpm

Збережіть файл і закрийте вікно. Можливо, Вам доведеться закрити всі відкриті вікна Powershell, щоб псевдонім набув чинності.

Оновлення pnpm

Щоб оновити pnpm, виконайте команду self-update:

pnpm self-update

Видалення pnpm

Якщо вам потрібно видалити pnpm CLI з вашої системи та всі файли, які він записав на диск, див. розділ Видалення pnpm.