Skip to Content
文档utoo从 pnpm 迁移

从 pnpm 迁移

utoo 提供一键迁移命令,将 pnpm 项目自动转换为 utoo 项目。

用法

Terminal
ut install --from pnpm

在包含 pnpm-workspace.yaml 的项目根目录运行此命令,utoo 会自动完成配置转换并安装依赖。

转换规则

--from pnpm 读取 pnpm-workspace.yaml,将配置映射到 utoo 的格式:

pnpm-workspace.yaml → package.json

pnpm 字段utoo 字段说明
packagesworkspaces工作区 glob 列表
overridesoverrides依赖覆盖——语法见 Overrides

pnpm-workspace.yaml → .utoo.toml

pnpm 字段utoo 段说明
catalog[catalog]默认 catalog — 详见 Catalog
catalogs.<name>[catalogs.<name>]命名 catalog — 详见 Catalog

示例

迁移前

pnpm-workspace.yaml
packages: - packages/* - apps/* catalog: react: ^18.0.0 typescript: ^5.0.0 lodash: ^4.17.21 catalogs: legacy: debug: ^3.2.7 overrides: vite: npm:rolldown-vite@^7.1.13

迁移后

utoo 自动生成以下文件:

package.json
{ "workspaces": ["packages/*", "apps/*"], "overrides": { "vite": "npm:rolldown-vite@^7.1.13" } }
.utoo.toml
[catalog] react = "^18.0.0" typescript = "^5.0.0" lodash = "^4.17.21" [catalogs.legacy] debug = "^3.2.7"

注意事项

迁移会保留已有的 package.json.utoo.toml 内容,仅合并新增字段,不会覆盖现有配置。

  • package.json 中已有的 nameversiondependencies 等字段不受影响
  • .utoo.toml 中已有的 [values] 配置(如 registry)会被保留
  • catalogcatalogs 段会从 pnpm-workspace.yaml 合并写入
  • pnpm-workspace.yaml 中的 catalogModeminimumReleaseAge 等 pnpm 专有字段会被忽略
  • 迁移完成后即自动开始安装依赖,catalog: 协议会被正确解析
Last updated on