81 lines
1.6 KiB
Markdown
81 lines
1.6 KiB
Markdown
---
|
|
description: Configure your preferred package manager (npm/pnpm/yarn/bun)
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# Package Manager Setup
|
|
|
|
Configure your preferred package manager for this project or globally.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# Detect current package manager
|
|
node scripts/setup-package-manager.js --detect
|
|
|
|
# Set global preference
|
|
node scripts/setup-package-manager.js --global pnpm
|
|
|
|
# Set project preference
|
|
node scripts/setup-package-manager.js --project bun
|
|
|
|
# List available package managers
|
|
node scripts/setup-package-manager.js --list
|
|
```
|
|
|
|
## Detection Priority
|
|
|
|
When determining which package manager to use, the following order is checked:
|
|
|
|
1. **Environment variable**: `CLAUDE_PACKAGE_MANAGER`
|
|
2. **Project config**: `.claude/package-manager.json`
|
|
3. **package.json**: `packageManager` field
|
|
4. **Lock file**: Presence of package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb
|
|
5. **Global config**: `~/.claude/package-manager.json`
|
|
6. **Fallback**: First available package manager (pnpm > bun > yarn > npm)
|
|
|
|
## Configuration Files
|
|
|
|
### Global Configuration
|
|
```json
|
|
// ~/.claude/package-manager.json
|
|
{
|
|
"packageManager": "pnpm"
|
|
}
|
|
```
|
|
|
|
### Project Configuration
|
|
```json
|
|
// .claude/package-manager.json
|
|
{
|
|
"packageManager": "bun"
|
|
}
|
|
```
|
|
|
|
### package.json
|
|
```json
|
|
{
|
|
"packageManager": "pnpm@8.6.0"
|
|
}
|
|
```
|
|
|
|
## Environment Variable
|
|
|
|
Set `CLAUDE_PACKAGE_MANAGER` to override all other detection methods:
|
|
|
|
```bash
|
|
# Windows (PowerShell)
|
|
$env:CLAUDE_PACKAGE_MANAGER = "pnpm"
|
|
|
|
# macOS/Linux
|
|
export CLAUDE_PACKAGE_MANAGER=pnpm
|
|
```
|
|
|
|
## Run the Detection
|
|
|
|
To see current package manager detection results, run:
|
|
|
|
```bash
|
|
node scripts/setup-package-manager.js --detect
|
|
```
|