💨

CocoaPodsインストールのためにRubyのバージョンを上げる

2024/08/15に公開

CocoaPodsをインストールしようとすると以下のエラーが出たのでその対処方法を書いていきます。

hide@hidenoMacBook-Pro ohamoni_ios % sudo gem install cocoapods
省略
ERROR:  Error installing cocoapods:
        The last version of drb (>= 0) to support your Ruby & RubyGems was 2.0.6. Try installing it with `gem 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.

環境

macOS Ventura 13.6.1
Apple M2チップ
ruby v2.6.20.210
CocoaPods v1.15.2

原因

エラーに書いてあるとおりrubyのバージョンが足りてないようです

解決

macでrubyをほとんど使っていないので、rbenvなどのRubyマネージャをインストールする必要はないと思い、
brew install ruby
でシステムのrubyのバージョンを上げました。

参考
https://www.ruby-lang.org/ja/documentation/installation/#homebrew

brew install ruby

省略
Pruned 0 symbolic links and 8 directories from /opt/homebrew
==> Caveats
==> ruby
By default, binaries installed by gem will be placed into:
  /opt/homebrew/lib/ruby/gems/3.3.0/bin

You may want to add this to your PATH.

ruby is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have ruby first in your PATH, run:
  echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc

For compilers to find ruby you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/ruby/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/ruby/include"

For pkg-config to find ruby you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/ruby/lib/pkgconfig"

インストール後
~/.zshrcファイルにexport PATH="/opt/homebrew/opt/ruby/bin:$PATH"を追加した後に、

hide@hidenoMacBook-Pro ohamoni_ios % source ~/.zshrc
hide@hidenoMacBook-Pro ohamoni_ios % ruby -v        
ruby 3.3.4 (2024-07-09 revision be1089c8ec) [arm64-darwin22]

rubyのバージョンを上げることができました。

CocoaPodsのインストールを再度試すと、成功しました。

hide@hidenoMacBook-Pro ohamoni_ios % sudo gem install cocoapods        
省略
35 gems installed

A new release of RubyGems is available: 3.5.14 → 3.5.17!
Run `gem update --system 3.5.17` to update your installation.

補足

その後、 https://docs.flutter.dev/get-started/install/macos/mobile-ios#install-cocoapods にあるとおりに
~/.zshenvファイルにexport PATH=$HOME/.gem/bin:$PATHを追加してみましたが、
Flutterアプリを起動した時に以下のエラーが出たままでした。

Launching lib/main.dart on iPhone 15 Pro Max in debug mode...
Warning: CocoaPods not installed. Skipping pod install.
  CocoaPods is a package manager for iOS or macOS platform code.
  Without CocoaPods, plugins will not work on iOS or macOS.
  For more info, see https://flutter.dev/to/platform-plugins
For installation instructions, see https://guides.cocoapods.org/using/getting-started.html#installation

CocoaPods not installed or not in valid state.
Error launching application on iPhone 15 Pro Max.

Exited (1).

CocoaPodsインストール先のディレクトリを指定したらいいのかなと思い以下のように設定したら動きました。

~/.zshenv
export PATH=/opt/homebrew/lib/ruby/gems/3.3.0/bin:$PATH

$HOME/.gem/binにはcocoapodsはインストールされていなく、
/opt/homebrew/lib/ruby/gems/3.3.0/binにインストールされているためでした。

Discussion