claude-code/claude-zh/commands/setup-pm.md

81 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2026-02-27 13:45:37 +00:00
---
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
```