MacBook Pro 2019运行Rails时libllhttp-ext.bundle架构不兼容报错求助
解决方案:llhttp-ffi架构不兼容问题(MacBook Pro 2019 Intel)
核心问题
你的MacBook Pro 2019是Intel架构(x86_64),但llhttp-ffi安装了ARM64版本的库,导致架构不兼容报错。
解决步骤
1. 确认当前Ruby环境架构
执行以下命令查看Ruby运行的架构:ruby -e "puts RUBY_PLATFORM"如果输出包含
arm64,说明你用了ARM版本的Ruby,需要切换到x86_64版本。2. 用Rosetta 2启动终端并重新安装Ruby
MacBook Pro 2019是Intel芯片,必须用x86_64架构的Ruby:- 右键点击终端图标 → 选择「使用Rosetta打开」
- 以rbenv为例,重新安装对应版本的Ruby:
(如果用rvm,替换成rbenv uninstall 3.1.0 rbenv install 3.1.0 rbenv local 3.1.0rvm remove 3.1.0 && rvm install 3.1.0 && rvm use 3.1.0)
3. 清理缓存并重新安装依赖
删除旧的依赖缓存和锁文件,确保重新安装x86_64版本的gem:rm -rf vendor/bundle rm Gemfile.lock bundle install4. 强制以x86_64架构安装依赖(可选)
如果上述步骤无效,直接指定架构运行bundle:arch -x86_64 bundle install或者单独重新安装llhttp-ffi:
arch -x86_64 gem uninstall llhttp-ffi arch -x86_64 gem install llhttp-ffi -v 0.5.05. 验证修复结果
检查llhttp库的架构是否匹配:lipo -info /Users/macbookpro/upwork/solaris/solaris-cloud/vendor/bundle/ruby/3.1.0/gems/llhttp-ffi-0.5.0/ext/x86_64-darwin/libllhttp-ext.bundle输出应为
Non-fat file: ... is architecture: x86_64,说明架构正确。
内容的提问来源于stack exchange,提问作者Muzzamil Mujahid
相关产品推荐
相关产品推荐

