iOS プロジェクトで pod init
コマンドを実行したところ、何らかのバージョンエラーで処理が失敗する現象に遭遇しました。
なんでも、XCode のバージョンを 13 に上げると発生するみたいです。
で、こちらのエラーは CocoaPods のバージョンを上げれば解消されるとのことだったので、下記の記事を参考に CocoaPods を更新しようとしたところ、今度はまた別のエラーが発生しました…。
[備忘録] Xcode13でpod initにエラーが出たのをどう解消したかメモ – Qiita
https://qiita.com/kudpig/items/62d71b46c6e0e5de2d31
タイトルにもある通り、「Failed to build gem native extension.」というエラーです。
こちらは Ruby 関係のエラーらしいです。
こちらの対応にあたり、参考にさせていただいた記事はこちらから。
CocoaPodsのインストールで手間取ったこと – Qiita
https://qiita.com/spring_i/items/181bc3c05142d1f80d93
実行したコマンドはこちら。
sudo gem install -v1.11.2 cocoapods -n /usr/local/bin
しかし、今度は Permissions エラーが発生しました。
gem install が permissions エラーでインストールできない場合の対処手順 – .NET ゆる〜りワーク
https://www.yururiwork.net/archives/1563
上記を参考に、gem 及び ruby のパスの変更と、Ruby のバージョンをアップデートしてみました。
実行したコマンドは下記の通りです。
// 現在の gem と ruby のパスを確認 which gem which ruby // brew のアップデート brew update // rbenv と ruby-build をインストール brew install rbenv ruby-build // 現在の Ruby のバージョンが、システムの Ruby を指しているか確認 rbenv versions // 最新の Ruby のバージョンをインストール(現時点では 3.0.1) rbenv install 3.0.1 // Ruby のバージョンを変更 rbenv global 3.0.1 // gem コマンド及び ruby コマンドのパスを変更 vim ~/.bash_profile
.bash_profile
には下記を記述して保存してください。
[[ -d ~/.rbenv ]] && \ export PATH=${HOME}/.rbenv/bin:${PATH} && \ eval "$(rbenv init -)"
.bash_profile
を保存して閉じたら、下記のコマンドを実行します。
// .bash_profile の変更を反映 source ~/.bash_profile
作業は以上で完了です!
あとは、再度下記のコマンドを実行して、CocoaPods を更新します。
// CocoaPods をインストール sudo gem install -v1.11.2 cocoapods -n /usr/local/bin // CocoaPods のバージョンを確認 pod --version // CocoaPods のセットアップ pod setup
pod --version
コマンドを実行して、1.11.2 と表示されれば更新は成功です。
なお、アップデート後には pod setup
コマンドを実行してセットアップを行なっておいた方がいいとのことでした。
上記まで行ったあと、iOS プロジェクトで pod init
コマンドを実行したところ、今度は正常に実行され、Podfile が無事に作成されていました!
最初は次々にエラーが発生するのでどうなることかと思いましたが…なんとか解決できて良かったです。
以上、XCode 13 で pod init コマンドを実行時にエラーが発生する時の対処方法についてでした。
ご参考になれば幸いです