Встановлення
Попередні вимоги
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.js | pnpm 5 | pnpm 6 | pnpm 7 | pnpm 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.