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

React项目Tiptap与GrapesJS依赖冲突致npm构建失败求助

解决React/TypeScript项目中Tiptap、GrapesJS与ProseMirror的依赖冲突

1. 精准定位冲突版本

先执行以下命令明确具体冲突的依赖包和版本范围:

npm explain prosemirror-model
npm ls prosemirror-view

这会输出Tiptap、GrapesJS、BlockNote各自对ProseMirror核心包的版本要求,帮你找出矛盾的版本区间。

2. 使用npm Overrides强制统一版本

如果确认是ProseMirror版本不兼容,在package.json中添加overrides字段,强制所有依赖使用同一个兼容版本。比如假设Tiptap支持prosemirror-model@1.19.0且GrapesJS也能兼容该版本,配置如下:

{
  "overrides": {
    "prosemirror-model": "1.19.0",
    "prosemirror-view": "1.28.2",
    "prosemirror-state": "1.4.3"
  }
}

添加后执行npm install,npm会强制所有依赖使用指定版本的ProseMirror包。

3. 验证BlockNote的兼容性

BlockNote本身基于ProseMirror,需确认其版本与你选定的ProseMirror版本匹配。查看BlockNote的npm页面或GitHub仓库的package.json,确认它对ProseMirror包的版本要求,确保和你override的版本一致。

4. 尝试Yarn的依赖解析

如果npm的overrides无效,换用Yarn试试,它的依赖解析逻辑不同。先安装Yarn,然后在项目根目录执行:

yarn install

若仍有冲突,在package.json中添加resolutions字段(类似npm overrides):

{
  "resolutions": {
    "prosemirror-model": "1.19.0"
  }
}

5. 针对性调整核心依赖版本

  • 若Tiptap最新版本与GrapesJS冲突,尝试降级Tiptap到某个稳定版本(参考Tiptap的changelog,找一个和当前GrapesJS版本兼容的发布版)。
  • 检查GrapesJS是否有更新版本,新版本可能已兼容更高版本的ProseMirror。

补充信息需求

如果以上方法仍无效,请提供:

  • 完整的ERESOLVE错误日志(重点标注冲突的具体包和版本要求)
  • package.json中的dependencies和devDependencies部分
  • npm explain [冲突包名]的输出结果

内容的提问来源于stack exchange,提问作者Rafe Fredericks

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 16:00:55