mirror of
https://github.com/sweetwisdom/everything-claude-code-zh.git
synced 2026-03-22 06:20:10 +00:00
81 lines
1.7 KiB
Markdown
81 lines
1.7 KiB
Markdown
---
|
|
description: 配置你偏好的包管理器 (npm/pnpm/yarn/bun)
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# 包管理器设置 (Package Manager Setup)
|
|
|
|
为本项目或全局配置你偏好的包管理器。
|
|
|
|
## 用法 (Usage)
|
|
|
|
```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
|
|
```
|
|
|
|
## 检测优先级 (Detection Priority)
|
|
|
|
在确定使用哪个包管理器时,将按以下顺序进行检查:
|
|
|
|
1. **环境变量 (Environment variable)**: `CLAUDE_PACKAGE_MANAGER`
|
|
2. **项目配置 (Project config)**: `.claude/package-manager.json`
|
|
3. **package.json**: `packageManager` 字段
|
|
4. **锁定文件 (Lock file)**: 是否存在 package-lock.json、yarn.lock、pnpm-lock.yaml 或 bun.lockb
|
|
5. **全局配置 (Global config)**: `~/.claude/package-manager.json`
|
|
6. **后备方案 (Fallback)**: 第一个可用的包管理器 (pnpm > bun > yarn > npm)
|
|
|
|
## 配置文件 (Configuration Files)
|
|
|
|
### 全局配置
|
|
```json
|
|
// ~/.claude/package-manager.json
|
|
{
|
|
"packageManager": "pnpm"
|
|
}
|
|
```
|
|
|
|
### 项目配置
|
|
```json
|
|
// .claude/package-manager.json
|
|
{
|
|
"packageManager": "bun"
|
|
}
|
|
```
|
|
|
|
### package.json
|
|
```json
|
|
{
|
|
"packageManager": "pnpm@8.6.0"
|
|
}
|
|
```
|
|
|
|
## 环境变量 (Environment Variable)
|
|
|
|
设置 `CLAUDE_PACKAGE_MANAGER` 以覆盖所有其他检测方法:
|
|
|
|
```bash
|
|
# Windows (PowerShell)
|
|
$env:CLAUDE_PACKAGE_MANAGER = "pnpm"
|
|
|
|
# macOS/Linux
|
|
export CLAUDE_PACKAGE_MANAGER=pnpm
|
|
```
|
|
|
|
## 运行检测 (Run the Detection)
|
|
|
|
若要查看当前的包管理器检测结果,请运行:
|
|
|
|
```bash
|
|
node scripts/setup-package-manager.js --detect
|
|
```
|