Linux Mint19安装React Native CLI for Android报错及多Node版本修复咨询
报错原因说明
npm ERR! Linux 4.15.0-112-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "react-native-cli"
npm ERR! node v8.10.0
npm ERR! npm v3.5.2
npm ERR! code ENETUNREACH
npm ERR! errno ENETUNREACH
npm ERR! syscall connectnpm ERR! connect ENETUNREACH 2606:4700::6810:1a23:80
npm ERR! Please include the following file with any support request:
npm ERR! /home/jean/npm-debug.log
ENETUNREACH错误是npm尝试通过IPv6连接官方源失败导致,同时你当前使用的Node v8.10.0、npm v3.5.2版本过旧,也可能和react-native-cli存在兼容性问题。
解决方案
第一步:卸载多余Node版本
- 先查看系统中所有已安装的Node路径:
which -a node - 若为apt安装的系统级Node版本,执行以下命令卸载:
sudo apt purge nodejs npm -y sudo apt autoremove -y sudo rm -rf /usr/local/bin/node /usr/local/bin/npm /usr/local/lib/node_modules ~/.npm - 若为NVM安装的多版本,执行以下操作:
- 查看所有已安装的Node版本:
nvm ls - 卸载不需要的版本:
nvm uninstall <要删除的版本号>,例如卸载v8.10.0则执行nvm uninstall v8.10.0 - 建议保留16.x、18.x这类react-native兼容的LTS版本,设置为默认版本:
nvm alias default <保留的版本号>
- 查看所有已安装的Node版本:
第二步:修复npm安装报错
- 设置npm优先使用IPv4解析地址,避免IPv6连接失败:
npm config set dns-result-order ipv4first - 替换为国内镜像源提升下载稳定性:
npm config set registry https://registry.npmmirror.com - 重新全局安装react-native-cli:
若为系统级Node安装:sudo npm install -g react-native-cli
若为NVM管理的Node安装:npm install -g react-native-cli - 验证安装结果:执行
react-native -v返回版本号即为安装成功。
可选优化
当前react-native官方更推荐使用npx直接创建项目,无需全局安装cli,可避免全局版本冲突问题,创建项目命令为:npx react-native init 你的项目名称
内容的提问来源于stack exchange,提问作者user11571491
相关产品推荐
相关产品推荐

