升级Node.js至v22.13.1后react-dnd peer依赖冲突求助
解决方案
针对Node.js升级后出现的react-dnd peer依赖冲突问题,且无法升级React的情况,提供以下几种可行方案:
方案1:使用npm的legacy peer依赖解析模式
直接运行带有--legacy-peer-deps参数的安装命令,跳过peer依赖冲突检查:
npm install --legacy-peer-deps
该参数会让npm采用v6版本的依赖解析逻辑,忽略旧包中未更新的peer依赖声明冲突。由于你的项目是遗留系统,只要后续测试确认mui-datatables及相关组件功能正常,这个方案是最快捷的。
方案2:通过overrides强制锁定兼容的react-dnd版本
在项目的package.json中添加overrides字段,强制让react-sortable-tree使用满足frontend-collective-react-dnd-scrollzone peer依赖要求的react-dnd版本:
{ // ... 其他原有字段 "overrides": { "react-sortable-tree": { "react-dnd": "^7.7.0" } } }
添加完成后重新执行npm install,overrides会强制替换依赖树中指定包的版本,解决冲突同时无需升级React或mui-datatables主版本。
方案3:降级mui-datatables到无冲突的v3.x版本
查找mui-datatables v3系列中,依赖的react-sortable-tree版本不存在依赖冲突的版本,比如尝试v3.7.0:
npm uninstall mui-datatables npm install mui-datatables@3.7.0
这个版本的mui-datatables仍兼容React 16.13.1,且依赖的react-sortable-tree版本对应的依赖链不会出现peer冲突。
注意事项
无论采用哪种方案,安装完成后都需要全面测试项目功能,重点验证mui-datatables的表格渲染、拖拽排序(如果用到)等核心功能是否正常,确保依赖调整未引入新问题。
内容的提问来源于stack exchange,提问作者190303458
相关产品推荐
相关产品推荐

