Установка
Используя автономный скрипт
Когда Node.js не предустановлен
На POSIX-системах вы можете установить pnpm, даже если у вас не установлен Node.js, используя следующий скрипт:
curl -fsSL https://get.pnpm.io/install.sh | PNPM_VERSION=6.32.11 sh -
Если у вас не установлен curl, и вы хотели бы использовать wget:
wget -qO- https://get.pnpm.io/install.sh | PNPM_VERSION=6.32.11 sh -
На Windows (PowerShell):
$env:PNPM_VERSION='6.32.11' ; iwr https://get.pnpm.io/install.ps1 -useb | iex
Затем вы можете использовать команду pnpm env для установки Node.js.
Когда Node.js предустановлен
На Linux или macOS:
curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@latest-6
На Windows (PowerShell):
Invoke-WebRequest 'https://get.pnpm.io/v6.16.js' -UseBasicParsing -o pnpm.js; node pnpm.js add --global pnpm@6.32.11; Remove-Item pnpm.js
Скрипт автономной установки имеет подпись. Вот как проверить её.
Using Homebrew
If you have the package manager installed, you can install pnpm using the following command:
brew install pnpm
Using Scoop
If you have Scoop installed, you can install pnpm using the following command:
scoop install nodejs-lts pnpm
Using Corepack
Since v16.13, Node.js is shipping Corepack for managing package managers. This is an experimental feature, so you need to enable it by running:
corepack enable
This will automatically install pnpm on your system. However, it probably won't be the latest version of pnpm. To upgrade it, check what is the latest pnpm version and run:
corepack prepare pnpm@6.32.11 --activate
Используя npm
npm install -g pnpm@latest-6
Через npx
npx pnpm add -g pnpm
Обновление
После установки pnpm нет необходимости использовать другие менеджеры пакетов для его обновления. Вы можете обновить pnpm, используя pnpm:
pnpm add -g pnpm
Хотите использовать pnpm в CI/CD? См.: Непрерывная интеграция.
Совместимость
Ниже перечислены предыдущие версии pnpm с поддержкой версий Node.js.
Node.js | pnpm 1 | pnpm 2 | pnpm 3 | pnpm 4 | pnpm 5 | pnpm 6 |
---|---|---|---|---|---|---|
Node.js 4 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Node.js 6 | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
Node.js 8 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Node.js 10 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Node.js 12 | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
Node.js 14 | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
Node.js 16 | ? | ? | ?️ | ?️ | ?️ | ✔️ |
Решение проблем
Если pnpm по какой-то причине не работает, и у вас не получается решить проблему переустановив его, возможно вам нужно самостоятельно удалить 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, запустите эту команду в Git Bash. Вы получите расположение команды pnpm, например:
$ which pnpm
/c/Program Files/nodejs/pnpm
Теперь, когда вы знаете, где находится CLI pnpm, откройте эту папку и удалите все связанные с pnpm файлы (pnpm.cmd
, pnpx.cmd
, pnpm
и т.д.). После этого установите pnpm еще раз, и он должен работать как вы того ожидаете.
Удаление pnpm
If you need to remove the pnpm CLI from your system and any files it has written to your disk, see Uninstalling pnpm.