安裝
必要條件
如果您不想利用指令稿或 @pnpm/exe
來安裝 pnpm,則需先在電腦安裝 Node.js,最低版本需求為 18.12 版。
使用指令稿來安裝
即使沒有安裝 Node.js,您還是可以透過下面提供的指令稿來安裝 pnpm。
Windows
使用 Powershell:
$env:PNPM_VERSION = "10.0.0-alpha.4"; 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-alpha.4 sh -
如果沒有安裝 curl,您也可以改用 wget:
wget -qO- https://get.pnpm.io/install.sh | env PNPM_VERSION=10.0.0-alpha.4 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 -
安裝特定版本
在執行安裝指令稿之前,您可以設定 shell 變數 PNPM_VERSION
以安裝指定版本的 pnpm:
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh -
使用 Corepack 來安裝
自 v16.13 起,Node.js 推出了 Corepack——管理套件管理器的工具。 因為這是試驗性功能,需執行此命令以啟用 Corepack:
如果您是以 pnpm env
安裝 Node.js,則不會順帶安裝 Corepack。如須使用 Corepack,則需另外安裝。 請參閱 #4029。
corepack enable pnpm
若您先前使用 Homebrew 安裝 Node.js,則需另外安裝 corepack:
brew install corepack
它會在您的電腦上自動安裝 pnpm,
您可以使用此命令來釘選專案中使用的 pnpm 版本
corepack use pnpm@latest-10
這會在專案的 package.json 中加入 "packageManager"
欄位,指示 Corepack 在進入專案時選用特定版本。 此功能對於需強調可重現性時很有用,因為所有使用 Corepack 的開發者都使用與您相同的版本。 當新版 pnpm 推出時,您可以再次執行上述命令。
Using other package managers
使用 npm 來安裝
我們提供了兩個 pnpm CLI 包裝, pnpm
和 @pnpm/exe
。
npm install -g pnpm@latest-10
或
npm install -g @pnpm/exe@latest-10
使用 Homebrew
如果您已安裝 Homebrew 套件管理器,可以透過以下命令安裝 pnpm:
brew install pnpm
使用 winget 來安裝
如果您已安裝 winget,可以使用此命令來安裝 pnpm
winget install -e --id pnpm.pnpm
使用 Scoop
如果您已安裝 Scoop,可以透過以下命令安裝 pnpm:
scoop install nodejs-lts pnpm
使用 Choco 來安裝
如果您已安裝 Choco,可以使用此命令來安裝 pnpm
choco install pnpm
使用 Volta 來安裝
如果您已安裝 Volta,可以使用此命令來安裝 pnpm
volta install pnpm
您想在 CI 伺服器上使用 pnpm 嗎? 請參閱持續整合 (Continuous Integration)。
相容性
此表列出過去的 pnpm 與對應 Node.js 版本的相容性:
Node.js | pnpm 8 | pnpm 9 | pnpm 10 |
---|---|---|---|
Node.js 14 | ❌ | ❌ | ❌ |
Node.js 16 | ✔️ | ❌ | ❌ |
Node.js 18 | ✔️ | ✔️ | ✔️ |
Node.js 20 | ✔️ | ✔️ | ✔️ |
Node.js 22 | ✔️ | ✔️ |