pod installが失敗する

今日M1 Maxを搭載したMacBook Pro 16インチがようやく届いたので、嬉々としてpod installをしたら失敗しました。

cocoapodsもFFIも問題なくインストールできているのに、いざpod installしようとすると謎エラーを吐いて死んでいるという状況でした。

現状多くのサイトでは、FFIがApple Silicon上でうまく動かないことから

  • TerminalでRosettaを使うように指定する方法
  • arch -x86_64 pod installをしてcocoapodsを再インストールする方法

の2種類が紹介されていますが、いずれも後方互換を使った消極的な解決方法です。

しかしここで紹介する方法は根本からこの問題を解決します。

1. Rubyを最新バージョンに更新する

デフォルトでインストールされているRubyは2.6.8という古いバージョンです。

そのためRubyをアップデートします。

$ brew install ruby

で最新版のRubyをインストールしてください。


$ ruby -v
ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin21]

グローバルに入れたくない人はrbenvを使ってください。(でもARM互換の問題で動かないこともあるらしい?)

2022年2月9日時点では3.1.0がインストールされます。

2. cocoapodsのバージョンを指定してインストール

$ sudo gem install -n /usr/local/bin cocoapods -v 1.11.2
Successfully installed cocoapods-1.11.2
Parsing documentation for cocoapods-1.11.2
Done installing documentation for cocoapods after 0 seconds
1 gem installed

最新のバージョンはこちらから確認することができます。

cocoapodsのgithubリポジトリ

3. pod install


$ pod install
Analyzing dependencies
Downloading dependencies
Installing Capacitor (3.0.0)
Installing CapacitorCordova (3.0.0)
Generating Pods project
Integrating client project
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
$

これでM1チップでも問題なくpod installが動くようになりました。

メッセージはIonicのプロジェクトなのでこのような出力がされています。

とりあえず動いたのでめでたしめでたし。

Ionicのサンプルプログラムのビルドエラーも解決して、無事エミュ上で動作確認が出来ました。

というかMac届いた日に書いた記事がトラブルシューティングかよ。

追記

Twitterで検索したら

$ brew install cocoapods

で治ったという人もいた。