You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Next.js项目中安装react-hook-form时遇到依赖解析错误

解决Next.js中react-hook-form依赖解析错误及shadcn参数问题

问题分析

  1. 依赖解析失败原因:你当前使用的是React 19 RC预发布版本,npm默认不会将预发布版本匹配到^19的peer依赖范围——尽管react-hook-form的peer依赖声明包含^19,但解析器仍无法识别RC版本,导致依赖匹配失败。
  2. shadcn参数错误原因:--force和--legacy-peer-deps是npm的命令选项,并非shadcn CLI支持的参数,直接添加会触发「unknown option」错误。

解决方案

方案1:通过shadcn传递npm兼容参数

使用shadcn的--npm-options参数,将npm的兼容选项传递给底层安装命令:

# 使用legacy-peer-deps兼容预发布版本
npx shadcn@latest add form --npm-options="--legacy-peer-deps"

或者:

# 强制安装忽略peer依赖冲突
npx shadcn@latest add form --npm-options="--force"

方案2:手动安装依赖后添加shadcn组件

先单独安装react-hook-form及相关依赖,再添加shadcn的form组件:

# 安装依赖并兼容peer版本
npm install react-hook-form @hookform/resolvers --legacy-peer-deps
# 添加shadcn form组件
npx shadcn@latest add form

方案3:通过package.json覆盖依赖声明(持久化解决)

在package.json中添加overrides字段,强制指定react-hook-form和@hookform/resolvers使用你的React版本:

"overrides": {
  "react-hook-form": {
    "react": "^19.0.0-rc-69d4b800-20241021"
  },
  "@hookform/resolvers": {
    "react": "^19.0.0-rc-69d4b800-20241021"
  }
}

添加后运行npm install,再执行shadcn的添加命令即可:

npx shadcn@latest add form

内容的提问来源于stack exchange,提问作者Puspal Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 03:15:04