CocoaPods on M1 (Apple Silicon) fails with ffi wrong architecture

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):

  1. Uninstall Ruby with: brew uninstall ruby --force

  2. 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.

  1. 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.

Leave a Comment