Bun Package Manager
Bun has a built-in lightning-fast package manager that can replace npm, yarn, and pnpm. This chapter introduces how to use the Bun package manager and its advanced features.
Why Use Bun Package Manager?
Speed Comparison
Advantages of Bun package manager:
- Lightning-fast installation: 20-30x faster than npm
- Hard links: Save disk space
- Compatibility: Fully compatible with npm ecosystem
- Zero configuration: No additional setup required
Basic Commands
Initializing Projects
Installing Dependencies
Adding Dependencies
Removing Dependencies
Updating Dependencies
package.json Management
Dependency Types
Version Specifiers
Lock File
bun.lockb
Bun uses a binary lock file bun.lockb:
Lock File Advantages
- Smaller: Much smaller than package-lock.json
- Faster: Binary format parses faster
- Deterministic: Ensures consistent installation results
Ignoring Lock File
Global Package Management
Installing Global Packages
Viewing Global Packages
Removing Global Packages
Registry Configuration
Using Mirror Sources
Configuration File
Create bunfig.toml:
Multiple Registry Configuration
Workspaces (Monorepo)
Configuring Workspaces
Directory Structure
Workspace Commands
Cache Management
Cache Location
Clearing Cache
Offline Installation
Advanced Installation Options
Installation Options
Viewing Dependency Tree
Publishing Packages
Preparing for Publish
Publishing to npm
Comparison with Other Package Managers
Command Comparison
Migrating to Bun
Migrating from other package managers is very simple:
Common Issues
Installation Failure
Version Conflicts
Private Package Authentication
Summary
This chapter introduced:
- ✅ Bun package manager basic commands
- ✅ Dependency management and version control
- ✅ Registry and mirror configuration
- ✅ Workspaces (Monorepo) support
- ✅ Cache management and offline installation
- ✅ Migrating from other package managers
Next Steps
Continue reading Module System to learn about Bun's support for ES Modules and CommonJS.