Skip to Content
文档utoo概述

utoo

utoo (ut) 是一个快速、现代的 JavaScript 包管理器,提供与 npm 兼容的包管理功能,并具有性能优化。

utoo 是 npm 的直接替代品,性能更优。

安装

无需 Node.js,一行命令安装:

Terminal
curl -fsSL https://utoo.land/install | bash

快速开始

1. 安装依赖

Terminal
ut install

2. 添加包

Terminal
ut install lodash ut install -D typescript

3. 运行脚本

Terminal
ut build ut dev

4. 执行远程包

Terminal
utx create-react-app my-app

性能对比

utoo 的性能优势主要体现在依赖解析、下载复用和全局包缓存复用。以下是 2026-08-27 在 Linux China x86_64 环境直连 https://registry.npmmirror.com 得到的 ant-design 阶段化安装基准,耗时越低越好:

场景utooBunpnpm 10pnpm 12aube
完全冷启动 (p0)12.04s ± 1.25s19.63s ± 1.32s33.88s ± 0.64s18.50s ± 6.22s26.47s ± 7.65s
仅 lock 冷启动 (p3)22.28s ± 12.71s31.75s ± 15.11s40.70s ± 11.64s31.67s ± 10.09s—
热缓存安装 (p4)1.22s ± 0.07s4.58s ± 0.32s9.86s ± 0.48s2.60s ± 0.09s—

utoo 在三个有效安装场景中的均值都最快;p0 / p3 波动较大,应视为方向性结果,低方差的 p4 信号最稳定。aube 的 p3 / p4 因缺少预期 lockfile 被拒绝。GitHub Actions npmjs 全量结果见性能基准。

命令

所有命令

命令别名描述
installi安装项目依赖
uninstallun卸载指定依赖
runr运行 package.json 中定义的脚本
executex执行来自本地或远程 npm 包的命令
viewv, info, show查看包信息
listls列出依赖(类似 npm list)
linkln链接包(类似 npm link)
depsd仅生成 package-lock.json
updateu删除 node_modules 并重新安装
rebuildrb重跑所有包的脚本钩子
cleanc清理全局存储中的包缓存
pm-packpk创建包的 tarball
pingpg检测镜像源连通性
loginlg登录镜像源
logoutlo注销登录
whoamiwho显示当前用户名
configcfg管理配置
initcreate创建 package.json 文件
publishpub发布包到镜像源
completionscmp生成 shell 自动补全脚本
*—任何未识别命令会走到 ut run *

每个命令自身的选项列在对应章节里;也可以直接 ut <command> --help 在终端查看。

全局选项

选项描述
-h, --help显示帮助
-v, --version显示版本

特性

全局缓存

安装过的包会按 包名/版本 缓存到 ~/.cache/nm/,后续安装直接从缓存硬链接到项目,跳过下载和解压。同一版本的包在磁盘上只存储一份,跨项目共享。

~/.cache/nm/ ├── lodash/4.17.21.tgz ├── react/18.3.0.tgz └── typescript/5.6.0.tgz

镜像源加速

当使用的 registry 是 cnpm 兼容镜像(如 registry.npmmirror.com)时,utoo 自动启用两项加速:semver 查询加速(服务端解析版本)和 binary mirror(原生模块下载改走 CDN)。两项在 npm 官方源上都会跳过。

具体机制见 镜像源加速,命令行探测见 ut ping。

从 pnpm 迁移

一行命令从 pnpm 项目迁移,自动转换 pnpm-workspace.yaml 中的工作区、overrides 和 catalog 配置:

Terminal
ut install --from pnpm

详见从 pnpm 迁移。

快捷执行

你可以直接运行 package.json 脚本,无需 run:

Terminal
ut build # 等同于: ut run build ut dev # 等同于: ut run dev ut test # 等同于: ut run test
Last updated on