Flutter

CocoaPodsをインストールできない問題 ーFlutterの環境構築ー

Flutterの環境構築をしている際に、CocoaPodsをインストールしようとするとエラーが出現し、回避策を試していちおううまくいった話を書いておきます。

環境

M1 Pro MacBookPro 16インチ(2021)

Ventura13.6

現象

CocoaPodsをインストールしようと下記を試みました。

sudo gem install cocoapods

すると下記のようなエラーが表示されインストールできません。

Building native extensions. This could take a while…

ERROR:  Error installing cocoapods:

ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.16.1/ext/ffi_c

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20230925-1106-16m82p9.rb extconf.rb

checking for ffi.h… *** extconf.rb failed ***

Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers.  Check the mkmf.log file for more details.  You may need configuration options.

ライブラリが足りない

と言われています。さらにはコンフィグオプションが必要だとも。

むー。

いくつかネットをあたってみると、gemではなくbrewでのインストールがワークアラウンド(回避策)として出てくるのでこのあたりを試してみました。

Homebrewでのインストールを試みる

まずはHomebrewをインストールしていきます。

インストーラーを取得します。

curl -fsSL -o install.sh https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh

つぎにインストールを実行します

/bin/bash install.sh

Homebrewのインストールが完了したら、Rubyのバージョン管理マネージャをインストールします。

brew install chruby ruby-install

そしてCocoaPodsをインストールします。

brew install cocoapods

むむ、brew linkが正常に完了しなかった旨のエラーメッセージが。

which cocoapodsで見つからないのでインストールが完了していないことがわかります。

コンフリクトしたファイルをリンクさせるために、以下を実行します。

brew link --overwrite cocoapods

2つのsymlink(Symbolic link file)が生成されました。

最後にCocoaPodsを最新に更新します。

brew update cocoapods

これでCocoaPodsのインストールが完了しました。

Flutter doctorを見てみると、Xcodeが問題なく正常になっているのでCocoaPodsが正しくインストールされたことがわかります。

以上、CocoaPodsのインストールに失敗したときにHomebrewで試してみたことのまとめでした!