utoo
utoo (ut) is a fast, modern package manager for JavaScript projects, providing npm-compatible package management with performance optimizations.
utoo is a drop-in replacement for npm with better performance.
Installation
macOS / Linux
No Node.js required. Install with a single command:
curl -fsSL https://utoo.land/install | bashQuick Start
1. Install dependencies
ut install2. Add a package
ut install lodash
ut install -D typescript3. Run scripts
ut build
ut dev4. Execute remote packages
utx create-react-app my-appCommands
All Commands
| Command | Alias | Description |
|---|---|---|
install | i | Install dependencies |
uninstall | un | Remove dependencies |
run | r | Run package.json scripts |
execute | x | Execute npm package binaries |
view | v, info, show | View package information |
list | ls | List dependency tree |
link | ln | Link local packages |
deps | d | Generate package-lock.json |
update | u | Update dependencies |
rebuild | rb | Rebuild script hooks |
clean | c | Clean package cache |
pm-pack | pk | Create a tarball from a package |
ping | pg | Ping npm registry |
login | lg | Login to npm registry |
logout | lo | Logout from npm registry |
whoami | who | Display npm username |
config | cfg | Manage configuration |
init | create | Create a package.json file |
publish | pub | Publish a package to the registry |
completions | cmp | Generate shell completion scripts |
Global Options
| Option | Description |
|---|---|
--verbose | Enable debug logging |
--registry <url> | Override npm registry |
--cache-dir <path> | Specify cache directory |
--legacy-peer-deps | Legacy peer dependency handling |
--manifests-concurrency-limit <n> | Max concurrent manifest fetches (default: 64) |
-h, --help | Show help |
-v, --version | Show version |
Features
Global Cache
Installed packages are cached by package/version in ~/.cache/nm/. Subsequent installs hard-link directly from the cache, skipping download and extraction. Each version is stored only once on disk, shared across projects.
~/.cache/nm/
├── lodash/4.17.21.tgz
├── react/18.3.0.tgz
└── typescript/5.6.0.tgznpmmirror Acceleration
When using npmmirror as the default registry, utoo provides two additional optimizations:
- Binary mirror — Prebuilt binaries for native modules (e.g.,
esbuild,swc,cypress) are downloaded from the npmmirror CDN, avoiding GitHub Releases and other overseas sources - Semver requests — Supports passing version ranges directly in the URL (e.g.,
/lodash/^4), letting the registry resolve versions server-side to reduce client-side requests
# Check if a registry supports semver requests
ut ping
# → PONG 15ms (supports-semver: yes)Migrate from pnpm
One command to migrate from a pnpm project, automatically converting workspaces, overrides, and catalog configuration from pnpm-workspace.yaml:
ut install --from pnpmSee Migrating from pnpm for details.
Shortcut Execution
You can run package.json scripts directly without run:
ut build # same as: ut run build
ut dev # same as: ut run dev
ut test # same as: ut run test