pnpm 是一款快速、節省磁碟空間的套件管理器。它使用內容可定址儲存庫來去重複同一台機器上所有專案的套件,從而節省大量磁碟空間。pnpm 預設執行嚴格的相依性解析,防止幽靈相依性。設定應優先放置在 pnpm-workspace.yaml 中,以進行 pnpm 特定的配置。
重要事項: 使用 pnpm 專案時,AI 代理應檢查 pnpm-workspace.yaml 和 .npmrc 檔案,以了解工作區結構和配置。在 CI 環境中,一律使用 --frozen-lockfile。
此技能基於 pnpm 10.x,生成於 2026-01-28。
核心功能
| 主題 | 說明 | 參考資料 |
|---|---|---|
| CLI 指令 | 安裝、新增、移除、更新、執行、exec、dlx 和工作區指令 | core-cli |
| 配置 | pnpm-workspace.yaml、.npmrc 設定和 package.json 欄位 | core-config |
| 工作區 | 支援篩選、工作區協定和共用鎖定檔案的 Monorepo | core-workspaces |
| 儲存庫 | 內容可定址儲存、硬連結和磁碟效率 | core-store |
功能特色
| 主題 | 說明 | 參考資料 |
|---|---|---|
| 目錄 | 工作區的集中式相依性版本管理 | features-catalogs |
| 覆寫 | 強制指定特定版本的相依性,包括傳遞性相依性 | features-overrides |
| 修補程式 | 使用自訂修補程式修改第三方套件 | features-patches |
| 別名 | 使用 npm: 協定以自訂名稱安裝套件 | features-aliases |
| 鉤子 | 使用 .pnpmfile.cjs 鉤子自訂解析流程 | features-hooks |
| 同儕相依性 | 自動安裝、嚴格模式和相依性規則 | features-peer-deps |
最佳實務
| 主題 | 說明 | 參考資料 |
|---|---|---|
| CI/CD 設定 | GitHub Actions、GitLab CI、Docker 和快取策略 | best-practices-ci |
| 遷移 | 從 npm/Yarn 遷移、處理幽靈相依性、Monorepo 遷移 | best-practices-migration |
| 效能 | 安裝最佳化、儲存庫快取、工作區並行化 | best-practices-performance |