はじめに
XCodeを利用してiOS開発を行うとき、プロジェクトでは外部ライブラリ管理ツールとしてCocoaPodsを利用しています。
そのため、CocoaPodsを利用できるように環境構築する必要がありました。
何時間もかかったてしまっため、備忘録を残します。
対象読者
- Macで CocoaPodsを利用した開発を行いたい人
- Cocoapodsのインストール時に、エラーに遭遇している人
- rubyのバージョンを上げる
- rosseta2を使用しているか設定を確認
環境
- M3 Mac
- macOS 14.4.1
手順の概要
最初に、CocoaPodsをインストールするめに、Rubyのgemコマンド
を使用して、インストールを試みます。
この時、Rubyのバージョンが適切なものでなければエラーとなります。
なので今回はそのエラーに対応するために、Hombrew と rbenvをインストールして、適切なRubyのバージョンを管理できるようにします。
今回の具体的手順は以下の通りです。
- CocoaPodsをインストール
・ rubyのバージョンエラーに関わるログが表示されるか確認
(特にエラーにならなければ、これ以降の作業は必要なし)
- Homebrewをインストール
・ rbenvをインストールするため
- rbenvをインストール
・ 適切な ruby バージョンを、インストールする必要があるため
- Rubyの適切なバージョンをインストール
・ gemコマンドを使用して、Cocoapodsをインストールするため
- 再度Cocoapodsのインストールを試みる
・ 再度、Cocoapodsインストールコマンドを実行
1. CocoaPodsをインストール
インストールコマンドを実行します。
$ sudo gem install cocoapods
Rubyのバージョンに関わるエラーが出力された場合の例
ERROR: Error installing cocoapods:
The last version of drb (>= 0) to support your Ruby & RubyGems was 2.0.6. Try installing it withgem install drb -v 2.0.6
and then running the current command again
drb requires Ruby version >= 2.7.0. The current ruby version is 2.6.10.210.
上記のようなError結果の場合、requires Ruby version >= 2.7.0
とあるので、Ruby のバージョンを2.7.0以上にする必要があります。そのためプロジェクト毎に使用するrubyのバージョンを管理できるrbenvをインストールして、Rubyのバージョンを適切なもの設定できるようにします。
(上記以外のErrorの場合は、そのログを確認して対応する必要があります)
2. Homebrewインストール
brewコマンドを実行できるように、HomeBrewのインストールから始めます。
-
HomeBrew インストール
Homebrewサイトを参考にHomeViewコマンド を実行します。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
パスを通す
インスール後、brewコマンドを実行した時「not found」となってしまう場合があるのでパスを通します。
$ export PATH="$PATH:/opt/homebrew/bin"
トラブルシューティング: Rosseta2を使用しているかconfigを確認
intel mac のデータを M1 mac 以降の mac に移行アシスタントを利用してデータ移行した時や、何かアプリをインスールした場合などで Rosseta2 を有効化してしまった恐れがあります。有効化されている場合は、ARM版の Homebrew をインストールが上記の手順ではうまくいっていない可能性があります。その結果、Cocoapodsのインストールが上手くいかないので、思い当たるかたは一度確認することをお勧めします。
確認手順
- ネイティブ環境における動作確認
$ uname -m
結果
arm64
であるか確認します。
- homebrew の動作環境を確認
$ brew config
結果
macOS: 14.4.1-arm64
Rosetta 2: false
上記の結果の場合は、問題ありません。
結果
macOS: 14.4.1-x86_64
Rosetta 2: true
など表記されている場合は、ARM版の Homebrew をインストールする必要があるので別途手順が必要になります。
主にやることは、Rosetta 2を無効化・アンインストールしてください。
望ましいログ結果が得ることが出来たら、Cocoa podsのインストール手順に戻ってください。
3. rbenvをインストール
インストールと設定
インストールコマンドを実行します。
$ brew install rbenv ruby-build
インストールが完了したら、初期化します。
$ rbenv init
隠しファイル .zshrc
ファイルを編集するため開きます。
$ open ~/.zshrc
ない場合は作成します。
$ touch .zshrc
.zshrcファイルに 以下を追加します。
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
変更した設定を反映させます。
$ source ~/.zshrc
4. Rubyの適切なバージョンをインストール
rbenv で現在のバージョンを確認します。
$ rbenv versions
rbenv でインストールできるバージョンを確認します。
$ rbenv install -l
結果の例
3.0.7
3.1.5
3.2.4
3.3.1
安定しているバージョンかつ、要求バージョン以上のものをインストールします。
requires Ruby version >= 2.7.0
と先ほどのエラーでは2.7.0以上を要求されていました。
なので、3.3.1 のバージョンをインストールします。
$ rbenv install 3.3.1
インストール完了したら、忘れずにグローバル設定を更新します。
$ rbenv global 3.3.1
最後に、設定が反映されているか確認したら、 cocoapodsをインストールする準備完了です。
$ rbenv versions
5. 再度Cocoapodsのインストールを試みる
$ sudo gem install cocoapods
インストールされていることを確認します。
$ pod --version
無事インスールされていれば、これにて、Cocoapodsの環境構築完了です!!
まとめ
cocoapods などの環境構築は大変ですよね.....。
自分が遭遇したエラーの解決方法が、手助けになれば嬉しいです!