--- description: 設定您偏好的套件管理器 (npm/pnpm/yarn/bun) disable-model-invocation: true --- # 套件管理器設定 (Package Manager Setup) 為此專案或全域環境設定您偏好的套件管理器。 ## 使用方式 ```bash # 偵測目前的套件管理器 node scripts/setup-package-manager.js --detect # 設定全域偏好 node scripts/setup-package-manager.js --global pnpm # 設定專案偏好 node scripts/setup-package-manager.js --project bun # 列出可用的套件管理器 node scripts/setup-package-manager.js --list ``` ## 偵測優先順序 在判定使用哪個套件管理器時,會依序檢查: 1. **環境變數**:`CLAUDE_PACKAGE_MANAGER` 2. **專案配置**:`.claude/package-manager.json` 3. **package.json**:`packageManager` 欄位 4. **鎖定檔案 (Lock file)**:是否存在 package-lock.json, yarn.lock, pnpm-lock.yaml 或 bun.lockb 5. **全域配置**:`~/.claude/package-manager.json` 6. **備選方案 (Fallback)**:第一個可用的套件管理器 (pnpm > bun > yarn > npm) ## 配置文件 ### 全域配置 ```json // ~/claude/package-manager.json { "packageManager": "pnpm" } ``` ### 專案配置 ```json // claude/package-manager.json { "packageManager": "bun" } ``` ### package.json ```json { "packageManager": "pnpm@8.6.0" } ``` ## 環境變數 設定 `CLAUDE_PACKAGE_MANAGER` 以覆蓋所有其他偵測方法: ```bash # Windows (PowerShell) $env:CLAUDE_PACKAGE_MANAGER = "pnpm" # macOS/Linux export CLAUDE_PACKAGE_MANAGER=pnpm ``` ## 執行偵測 若要查看目前的套件管理器偵測結果,請執行: ```bash node scripts/setup-package-manager.js --detect ```