cocoapodsのインストールで「ERROR: Failed to build gem native extension.」が出た場合の対処法メモ
Flutter の環境構築時に cocoapods のインストールで引っかかったので備忘録として残しておきます。
事象
以下を叩いたところエラーが表示された。
動作環境
Macbook Pro M1 2020 / macOS 13.6
まず Ruby のバージョンをチェックする
cocoapods は Ruby 製のライブラリであり gem コマンドを通してインストールすることになる。 そのため、Ruby のインストールが必須になる。
Ruby のバージョンは以下で確認できる。
また which コマンドでどこのパスの Ruby を見られているかもチェックしておく。
バージョンが 2.x であり、このパスが表示されると Mac に最初から入っているバージョンが使われている。この最初から入っているバージョンは古いことが多いため、今回のようなトラブルを防ぐためにも最新バージョンの Ruby を使うことが推奨される。
rbenv を使って Ruby のバージョンを上げて再度トライ
今回はrbenvを使って対応した。これを入れると Ruby のバージョン切り替えが手軽に出来るようになるので業務で使う場合は入れておいたほうがいい。
まず Homebrew 経由で以下を叩いてインストールします。(最新のバージョンが取得できるようにbrew update
は事前に済ませること!)
インストールが終わったら以下コマンドで次どうするべきか教えてくれるので叩きます。
~/.zshrc
ファイルに以下の行を追記してねと出てくるので、vi コマンドなどで案内された文をファイルの最後に追記します。
そしてこれで保存。
ターミナルを開け直すと Ruby のバージョンが rbenv で入れたものに変わっているはずです。
もう一度 cocoapods をインストールすると成功!
(余談) Flutter 関係のトラブル
cocoapods のインストール後、こちらの環境だと今度は Flutter のパスが通らなくなったのでこちらも残しておきます。
rbenv と同じ形で公式でダウンロードした Flutter フォルダの配置場所からパスを通してあげれば OK。
例えばドキュメントフォルダ配下のDevelopment
に設置した場合はこんな感じになる。
これが出れば Flutter の環境構築は終わり。