执行npm install时遭遇依赖冲突与网络超时问题求助
解决方案:React版本冲突 + npm网络超时问题
一、解决React与enzyme-adapter-react-16的版本冲突
你的核心问题是项目使用React 17,但enzyme-adapter-react-16仅支持React 16,有两种可行解决思路:
升级enzyme适配器适配React 17
官方的enzyme-adapter-react-16不支持React 17,第三方维护了适配包,操作步骤:- 卸载旧适配器:
npm uninstall enzyme-adapter-react-16 - 安装适配React17的版本:
npm install --save-dev @wojtekmaj/enzyme-adapter-react-17 - 修改enzyme配置文件(比如
setupTests.js)里的适配器引用:import Enzyme from 'enzyme'; import Adapter from '@wojtekmaj/enzyme-adapter-react-17'; Enzyme.configure({ adapter: new Adapter() });
- 卸载旧适配器:
降级React到16.x版本(如果项目允许)
直接把React和ReactDOM降到适配的版本:npm install react@^16.14.0 react-dom@^16.14.0之后再执行
npm install,peer依赖冲突即可解决。
二、解决npm的ERR_SOCKET_TIMEOUT网络超时
调整超时时间没用的话,试试这些方法:
切换npm国内镜像源(比如淘宝镜像):
npm config set registry https://registry.npmmirror.com设置后重新执行
npm install清除npm缓存:
npm cache clean --force缓存清理后再重新安装依赖
删除本地依赖文件后重装:
rm -rf node_modules package-lock.json npm install
三、关于Yarn的说明和用法
Yarn是和npm同类型的包管理工具,功能上和npm一致,但在依赖安装速度、缓存机制、版本稳定性上有优化,有时候能解决npm搞不定的依赖或网络问题。
用Yarn解决你的问题步骤:
- 全局安装Yarn(未安装过的话):
npm install -g yarn - 删除本地依赖文件:
rm -rf node_modules package-lock.json - 执行Yarn安装:
yarn install
Yarn默认会处理peer依赖兼容性,且缓存复用率高,能减少网络超时概率。
内容的提问来源于stack exchange,提问作者vaishnavi
相关产品推荐
相关产品推荐

