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

81 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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
```