113k

2026 年 2 月 - 统一的 Radix UI 包

new-york 样式现在改用统一的 radix-ui 包。

new-york 样式现在使用统一的 radix-ui 包,而不是分别依赖多个 @radix-ui/react-* 包。

有什么变化

使用 new-york 样式添加组件时,现在会从 radix-ui 导入,而不是从独立包导入:

components/ui/dialog.tsx
- import * as DialogPrimitive from "@radix-ui/react-dialog"
+ import { Dialog as DialogPrimitive } from "radix-ui"

这样会让你的 package.json 更简洁,只保留一个 radix-ui 依赖,而不是多个 @radix-ui/react-* 包。

迁移现有项目

如果你有一个使用 new-york 样式的现有项目,可以使用 migrate 命令迁移到新的 radix-ui 包:

pnpm dlx shadcn@latest migrate radix

这会更新你 UI 组件中的所有导入,并把 radix-ui 添加到依赖中。

如果要迁移 ui 目录之外的组件,请使用 path 参数:

pnpm dlx shadcn@latest migrate radix src/components/custom

完成后,你可以从 package.json 中移除所有未使用的 @radix-ui/react-* 包。

更多细节请查看 migrate radix 文档