安装react-router-dom时遇npm ERR! code ENOTEMPTY错误的解决咨询
解决react-router-dom安装失败及无效钩子错误
处理ENOTEMPTY安装错误
这个错误是npm重命名依赖目录时,目标临时目录非空导致的,按以下步骤解决:
- 彻底清理现有依赖和锁文件
rm -rf node_modules package-lock.json yarn.lock - 强制清理npm缓存
npm cache clean --force - 重新安装所有依赖
npm install - 再次安装最新版react-router-dom
npm i -S react-router-dom@latest
如果上面的方法没解决,手动删除冲突的目录再重试:
rm -rf /Users/albertnt/my-portfolio/my-portfolio/node_modules/acorn-globals npm i -S react-router-dom@latest
解决无效钩子错误
这个问题通常是react与react-router-dom版本不兼容,或者存在多个react实例导致的:
检查并升级react版本
最新版react-router-dom要求react版本≥16.8.0(支持hooks),先查看当前react版本:npm list react如果版本过低,执行升级命令:
npm i -S react@latest react-dom@latest排查重复的react实例
项目中存在多个react副本会导致钩子失效,创建一个临时测试文件(比如test-react.js):const React = require('react'); console.log('React版本:', React.version); console.log('React路径:', require.resolve('react'));执行文件查看输出:
node test-react.js如果输出多个路径或版本不一致,说明存在重复依赖,重复执行前面的「彻底清理依赖」步骤即可解决。
内容的提问来源于stack exchange,提问作者albert
相关产品推荐
相关产品推荐

