Mac(M1芯片)安装React Native受阻:Ruby版本更新失败求助
针对M1 Mac React Native环境配置的Ruby相关问题解决方案
前置准备:完成Xcode环境初始化
# 安装Xcode命令行工具 xcode-select --install # 同意Xcode许可协议 sudo xcodebuild -license accept
1. 统一Homebrew架构与路径
首先确认终端架构(执行arch,输出arm64为原生ARM,i386为Rosetta),彻底清理并重新安装原生ARM版Homebrew:
# 卸载现有Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" # 重装原生ARM版Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 配置环境变量 echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
2. 安装Ruby依赖库(openssl、zlib)
安装缺失的系统库并配置编译环境变量,确保Ruby安装时能正确识别依赖:
brew install openssl@3 zlib # 配置编译环境变量 echo 'export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/opt/zlib/lib"' >> ~/.zprofile echo 'export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/opt/zlib/include"' >> ~/.zprofile echo 'export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/zlib/lib/pkgconfig"' >> ~/.zprofile source ~/.zprofile
3. 安装Ruby 3.1.1(解决版本过低与编译错误)
方案一:使用rvm
# 更新rvm到稳定版 rvm get stable # 指定依赖路径安装Ruby 3.1.1 rvm install 3.1.1 --with-openssl-dir=/opt/homebrew/opt/openssl@3 --with-zlib-dir=/opt/homebrew/opt/zlib # 设置全局默认Ruby版本 rvm use 3.1.1 --default
方案二:使用rbenv(更稳定,推荐)
# 安装rbenv与ruby-build工具 brew install rbenv ruby-build # 配置rbenv环境变量 echo 'eval "$(rbenv init - zsh)"' >> ~/.zprofile source ~/.zprofile # 指定依赖编译安装Ruby 3.1.1 RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/homebrew/opt/openssl@3 --with-zlib-dir=/opt/homebrew/opt/zlib" rbenv install 3.1.1 # 设置全局默认Ruby版本 rbenv global 3.1.1
4. 修复Bundler与CocoaPods问题
# 安装适配Ruby 3.x的Bundler gem install bundler # 进入React Native项目目录执行依赖安装 bundle install # 若仍提示缺失指定版本CocoaPods,手动安装对应版本 gem install cocoapods -v 你的项目所需版本号 # 重新执行pod安装 bundle exec pod install
5. 修复gem update --system失败问题
确保前面的openssl环境变量已配置生效,直接执行:
gem update --system
内容的提问来源于stack exchange,提问作者whyDoICodeFrontEnd
相关产品推荐
相关产品推荐

