81 lines
1.6 KiB
Markdown
81 lines
1.6 KiB
Markdown
|
|
---
|
|||
|
|
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
|
|||
|
|
```
|