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

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

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

If you don't use the standalone script or @pnpm/exe to install pnpm, then you need to have Node.js (at least v16.14) to be installed on your system.

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

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

У Windows

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

$env:PNPM_VERSION = "8.15.7"; iwr https://get.pnpm.io/install.ps1 -useb | iex

В системах POSIX

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

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

wget -qO- https://get.pnpm.io/install.sh | env PNPM_VERSION=8.15.7 sh -

In a Docker container

# 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 -
підказка

Ви можете використати команду pnpm env, щоб інсталювати Node.js.

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

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

інформація

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

corepack enable pnpm

If you installed Node.js using Homebrew, you'll need to install corepack separately:

brew install corepack

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

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

corepack use pnpm@latest-8

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

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

We provide two packages of pnpm CLI, pnpm and @pnpm/exe.

  • pnpm is a ordinary version of pnpm, which needs Node.js to run.
  • @pnpm/exe is packaged with Node.js into an executable, so it may be used on a system with no Node.js installed.
npm install -g pnpm@latest-8

або

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

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

If you have the package manager installed, you can install pnpm using the following command:

brew install pnpm

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

If you have winget installed, you can install pnpm using the following command:

winget install pnpm

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

If you have Scoop installed, you can install pnpm using the following command:

scoop install nodejs-lts pnpm

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

If you have Chocolatey installed, you can install pnpm using the following command:

choco install pnpm

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

If you have Volta installed, you can install pnpm using the following command:

volta install pnpm
підказка

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

Сумісність

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

Node.jspnpm 5pnpm 6pnpm 7pnpm 8
Node.js 12✔️✔️
Node.js 14✔️✔️✔️
Node.js 16?️✔️✔️✔️
Node.js 18?️✔️✔️✔️
Node.js 20?️?✔️✔️

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

Якщо 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. If you're on Windows, run this command in Git Bash. Ви отримаєте розташування команди 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

If you need to remove the pnpm CLI from your system and any files it has written to your disk, see Uninstalling pnpm.