安裝
先決條件
如果您未透過獨立腳本或 @pnpm/exe
安裝 pnpm,則系統中必須安裝 Node.js(至少 v16.14)。
使用獨立腳本
即使您未安裝 Node.js,也可以使用下列腳本安裝 pnpm。
在 Windows 上
使用 PowerShell
iwr https://get.pnpm.io/install.ps1 -useb | iex
在 POSIX 系統上
curl -fsSL https://get.pnpm.io/install.sh | sh -
如果您沒有安裝 curl,您會想要使用 wget
wget -qO- https://get.pnpm.io/install.sh | sh -
您可以使用 pnpm env 指令,然後安裝 Node.js。
使用 Corepack
自 v16.13 起,Node.js 開始提供 Corepack 來管理套件管理員。這是一個實驗性功能,因此您需要透過執行以下指令來啟用它
如果您已使用 pnpm env
安裝 Node.js,則您的系統上不會安裝 Corepack,您需要另外安裝它。請參閱 #4029。
corepack enable pnpm
如果您使用 Homebrew 安裝 Node.js,則需要另外安裝 corepack
brew install corepack
這會自動在您的系統上安裝 pnpm。
您可以使用以下指令,將 pnpm 的版本固定在您的專案上
corepack use pnpm@latest
這會在您本地的 package.json
中新增一個 "packageManager"
欄位,它會指示 Corepack 永遠在該專案上使用特定版本。如果您想要可重製性,這會很有用,因為所有使用 Corepack 的開發人員都會使用與您相同的版本。當 pnpm 的新版本發布時,您可以重新執行上述指令。
使用 npm
我們提供兩個 pnpm CLI 套件,pnpm
和 @pnpm/exe
。
npm install -g pnpm
或
npm install -g @pnpm/exe
您想在 CI 伺服器上使用 pnpm 嗎?請參閱:持續整合。
相容性
以下是過去 pnpm 版本與對應 Node.js 版本支援的清單。
Node.js | pnpm 7 | pnpm 8 | pnpm 9 |
---|---|---|---|
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: []
}
首先,嘗試透過執行 which pnpm
來尋找 pnpm 的位置。如果您使用 Windows,請在 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
如果你需要從系統中移除 pnpm CLI 和它寫入磁碟的任何檔案,請參閱 解除安裝 pnpm。