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 的性能优势主要体现在依赖解析、下载复用和全局包缓存复用。以下是 ant-design 项目的阶段化安装基准,poolab Linux x86_64 环境直连 https://registry.npmmirror.com,耗时越低越好:

场景utooBunpnpmaube
完全冷启动 (p0)7.84s ± 2.17s13.21s ± 2.36s39.32s ± 16.56s27.63s ± 6.47s
仅 lock 冷启动 (p3)6.64s ± 1.64s8.62s ± 3.57s15.14s ± 0.77s6.42s ± 0.31s
热缓存安装 (p4)1.09s ± 0.05s2.72s ± 0.05s7.89s ± 0.38s1.60s ± 0.07s

p3 中 utoo 与 aube 的均值差异处于噪声范围,可视为基本持平;utoo 在 p0p4 中领先更明显。不同平台、镜像源和网络拓扑会影响绝对耗时,GitHub Actions npmjs 结果和修正后的 pnpm 验证见性能基准

命令

所有命令

命令别名描述
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