Installation Issues
Command not found: pm
Command not found: pm
Install via Homebrew (recommended)
Or install via npm
Verify installation
npm global install doesn't work
npm global install doesn't work
Find npm global bin directory
Add to PATH
~/.zshrc or ~/.bashrc:Reload shell
Package Manager Detection
No lock file found. Could not detect package manager
No lock file found. Could not detect package manager
- No lockfile exists
- Wrong directory
- Lockfile above home directory
Wrong package manager detected
Wrong package manager detected
src/pm/detect.ts:10-18):pnpm-lock.yaml→ pnpmbun.lock→ bunbun.lockb→ bunpackage-lock.json→ npm
Workspace Detection
Workspace packages not detected
Workspace packages not detected
- pnpm
- bun
- npm
pnpm-workspace.yaml:- File doesn’t exist: Create it with your package globs
- Incorrect indentation: YAML is whitespace-sensitive
- Missing quotes: Use quotes for globs with wildcards
Some packages missing from pm pls
Some packages missing from pm pls
package.json.Diagnosis:Check package.json exists
Check package has a name field
name field (from src/commands/install.ts:23-24):Verify glob pattern matches
packages/ui and packages/utils:Shell Integration
pm cd doesn't change directory
pm cd doesn't change directory
Add activation to shell config
Reload shell
Verify wrapper is loaded
Tab completion doesn't show packages
Tab completion doesn't show packages
Test completions directly
Check shell integration
For zsh: check compinit order
~/.zshrc, ensure compinit runs after the activation:Slow tab completions
Slow tab completions
pm cd <TAB> takes 2-3 seconds to show completions.Cause: Using npm installation instead of Homebrew.Explanation:From the README:Homebrew is recommended — it installs a native binary, so shell completions resolve in ~60ms.npm installation runs the CLI through Node.js, which is slower (200-500ms startup time).Solution:Switch to Homebrew installation:
Command Execution
pm i installs all packages at root
pm i installs all packages at root
-y / --sure flag, or running in non-interactive environment.Diagnosis:Check your command:- To install specific packages:
pm i -F @myapp/web - To install everything intentionally:
pm i -y - For safety, always
cdinto a package before runningpm i
pm add with pasted command fails
pm add with pasted command fails
- No packages extracted
- Unsupported package manager
- Version specifiers
Package not found error
Package not found error
List all packages
Check for typos
Check package.json name field
Performance Issues
Slow command execution
Slow command execution
Check installation method
Benchmark startup time
Large monorepo operations are slow
Large monorepo operations are slow
pm pls or pm cd takes several seconds in a monorepo with 100+ packages.Cause: Better PM enumerates all workspace packages by:- Reading workspace globs from config
- Expanding globs to find all matching directories
- Reading each package.json to extract the name
- Use Homebrew installation (native binary is faster)
- Cache isn’t implemented yet, so each command re-scans
- Consider organizing workspace into fewer, larger packages
Error Messages
Common Error Reference
src/lib/errors.ts.
Getting Help
If you encounter an issue not covered here:Check source code
- Package manager detection:
src/pm/detect.ts - Install logic:
src/commands/install.ts - Workspace parsing:
src/pm/{pnpm,bun,npm}.ts - Shell integration:
src/commands/activate.ts
Enable debug output
Report an issue
- Your package manager and version
- Better PM version (
pm --version) - Full command and error output
- Relevant workspace configuration (pnpm-workspace.yaml or package.json)
Prevention Tips
Use Homebrew
Activate Shell Integration
Keep Workspace Config Valid
- pnpm: Valid
pnpm-workspace.yaml - bun/npm: Valid
workspacesinpackage.json