执行yarn add react出现ENETUNREACH错误,求解决方案
解决Yarn安装React时的connect ENETUNREACH错误
错误详情
执行yarn add react时的错误输出:
yarn add react yarn add v1.22.19 info No lockfile found. [1/4] Resolving packages... error An unexpected error occurred: "https://registry.npmjs.org/react: connect ENETUNREACH 2606:4700::6810:1523:443".
对应的Yarn-error.log内容:
Arguments: /home/oab/.nvm/versions/node/v18.13.0/bin/node /usr/local/bin/yarn add react PATH: /home/oab/.nvm/versions/node/v18.13.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin Yarn version: 1.22.19 Node version: 18.13.0 Platform: linux x64 Trace: Error: connect ENETUNREACH 2606:4700::6810:1523:443 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1487:16) npm manifest: { "name": "01-configuranAPI", "version": "1.0.0", "main": "index.js", "license": "MIT" } yarn manifest: No manifest Lockfile: No lockfile
已执行yarn cache clean,问题仍未解决。
可行解决方案
1. 排查IPv6连接问题
错误中的地址为IPv6格式,大概率是系统IPv6连接异常导致:
- 先测试能否访问npm官方源:
curl -v https://registry.npmjs.org/react - 若IPv6无法连接,临时禁用IPv6后重试:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 yarn add react - 如需永久禁用,编辑
/etc/sysctl.conf,添加以下内容后执行sudo sysctl -p生效:net.ipv6.conf.all.disable_ipv6=1
2. 切换至国内npm镜像
国内网络环境下,切换镜像可解决连接问题:
- 设置淘宝镜像:
yarn config set registry https://registry.npmmirror.com yarn add react - 后续如需换回官方镜像:
yarn config set registry https://registry.npmjs.org
3. 检查代理配置
确保没有错误的代理设置影响连接:
- 查看当前代理:
echo $HTTP_PROXY $HTTPS_PROXY - 若存在不必要的代理,清除后重试:
unset HTTP_PROXY HTTPS_PROXY yarn add react
4. 初始化Yarn配置后重试
项目缺少Yarn manifest和lockfile,可能导致异常:
- 初始化Yarn(已存在package.json可跳过):
yarn init -y - 再次执行安装命令:
yarn add react
5. 调整Node/Yarn版本兼容性
尝试升级Yarn或调整Node版本:
- 升级Yarn至最新稳定版:
npm install -g yarn - 或用nvm切换至Node 16.x版本(兼容性更稳定):
nvm install 16 nvm use 16 yarn add react
内容的提问来源于stack exchange,提问作者alexoab oab
相关产品推荐
相关产品推荐

