React Native项目初始化新手问题:项目创建不全且bundle install报错
解决React Native项目创建中ffi gem安装失败问题
排查与解决步骤
1. 校验ffi安装架构与Ruby环境匹配
M系列Mac存在原生arm64与Rosetta x86_64环境冲突可能,先确认环境一致性:
- 查看当前Ruby架构:
ruby -e "puts RUBY_PLATFORM",需输出arm64-darwin21 - 查看ffi安装路径:
gem which ffi,若路径包含x86_64,说明是Rosetta下安装的,与当前Ruby不兼容
解决操作:
卸载不匹配的ffi版本:
gem uninstall ffi -v 1.15.5
用原生arm64环境重新安装:
arch -arm64 gem install ffi -v 1.15.5 --source https://rubygems.org/
2. 修正Bundler环境配置
Bundler可能未绑定当前正确的Ruby环境:
- 查看Bundler绑定的Ruby路径:
bundle config get ruby - 若路径不符,重新指定(用
which ruby获取当前Ruby路径):
bundle config set ruby $(which ruby)
之后重新执行bundle install
3. 修复原生扩展编译依赖
确保M系列Mac具备编译gem的基础依赖:
- 安装Xcode命令行工具并授权:
xcode-select --install sudo xcodebuild -license accept
- 通过Homebrew安装libffi依赖(未装Homebrew需先安装):
brew install libffi
- 设置环境变量让gem识别libffi:
export LDFLAGS="-L$(brew --prefix libffi)/lib" export CPPFLAGS="-I$(brew --prefix libffi)/include" export PKG_CONFIG_PATH="$(brew --prefix libffi)/lib/pkgconfig"
- 重新安装ffi:
gem install ffi -v 1.15.5
4. 清除Bundler缓存
缓存残留可能导致版本识别错误:
bundle cache clean --all rm -rf vendor/bundle
之后再次执行bundle install
5. 调整ffi版本(可选)
若1.15.5版本存在arm64兼容问题,可修改项目Gemfile中的ffi版本(如改为1.15.4或更高兼容版本),执行:
bundle update ffi
内容的提问来源于stack exchange,提问作者5ecured
相关产品推荐
相关产品推荐

