M1(Apple Silicon)上的CocoaPods出现故障,架构错误 [英] CocoaPods on M1 (Apple Silicon) fails with ffi wrong architecture
本文介绍了M1(Apple Silicon)上的CocoaPods出现故障,架构错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
由于ffi问题,在M1 MacBook上运行‘pod install’失败,如here所述。
我遵循了一些解决方法(我想我以不同的顺序尝试了所有解决方法),但现在得到的错误略有不同:
LoadError - dlopen(/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle, 9): no suitable image found. Did find:
/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle: mach-o, but wrong architecture
/opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle: mach-o, but wrong architecture - /opt/homebrew/lib/ruby/gems/3.0.0/gems/ffi-1.15.0/lib/ffi_c.bundle
那么,我现在似乎有了ffi,但是使用了错误的体系结构?我怎么才能解决这个问题呢?在以Rosetta模式运行终端的情况下/在不运行终端的情况下,都会发生这种情况。
顺便说一句,其中一个建议的解决方法对我来说没有成功。当我尝试时:
sudo arch -x86_64 gem install ffi
我得到:
arch: posix_spawnp: gem: Bad CPU type in executable
不确定这是否相关。
推荐答案
回答我自己的问题。我通过卸载出错的Ruby版本和CocoaPods修复了FFI问题,然后使用-x86_64 Arch重新安装了FFI和CocoaPods。
以下是我返回到工作状态(并为FFI应用M1变通方法)所执行的步骤:
卸载Ruby的方式:
brew uninstall ruby --force
卸载CocoaPods。首先,尝试使用
gem list --local | grep cocoapods
列出所有CocoaPods版本/组件。然后逐个卸载,我的例子是:
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-downloader
等
- 下一步,我可以使用以下命令重新安装ffi和CocoaPods:
sudo arch -x86_64 gem install ffi
sudo arch -x86_64 gem install cocoapods
pod install
。请注意,我一直在标准模式下打开终端-不需要Rosetta。
这篇关于M1(Apple Silicon)上的CocoaPods出现故障,架构错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文