CocoaPods on M1 (Apple Silicon) fails with ffi wrong architecture
Solution 1:
Answering my own question. I fixed the ffi issue by uninstalling my faulty Ruby version and CocoaPods, then I used the -x86_64 arch to reinstall ffi and CocoaPods.
These are the steps I did to get back to a working state (and to apply the M1 workarounds for ffi):
-
Uninstall Ruby with:
brew uninstall ruby --force
-
Uninstall CocoaPods. At first, try to list all CocoaPods versions / components with
gem list --local | grep cocoapods
. Then uninstall them one by one, in my case:
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-downloader
etc.
- As a next step I was able to reinstall ffi and then CocoaPods with:
sudo arch -x86_64 gem install ffi
sudo arch -x86_64 gem install cocoapods
Once done, I could run pod install
as expected. Note that I had the Terminal open all the time in standard mode - no Rosetta required.
Solution 2:
As said Datasun I removed cocoapods
gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall
and then run:
brew remove rbenv
sudo rm -rf ~/.rbenv
sudo arch -x86_64 gem install ffi
sudo arch -x86_64 gem install cocoapods
brew install rbenv
rbenv install 3.0.1
rbenv global 3.0.1
pod install
without any problem.