はじめに
これまで、Flutterを触る機会が全くありませんでしたが、急遽勉強する必要性が生じたため、以下の書籍を用いてFlutterの学習をしています。
その中で、環境構築のところでエラーが発生したので、解決方法をメモしました。
ちなみに、KindleUnlimitedの対象なので、会員の方は無料で読むことができます。
一応、Kindleストアのリンクを貼っておきます。
まだ途中までしか読んでいませんが、Amazonレビューの評価も比較的高く、読みやすいです。
スマホで動くアプリを作ろう!ゼロから始めるFlutter実践入門編-①-シンプルなアプリを作ってみよう
記事の中で、わかりにくい点や認識の誤っている点などあれば、お気軽にご指摘いただけると幸いです。
罵倒して頂いても構いません。
ダメ出し歓迎です。
課題
Flutterの環境構築を行った後に、設定に問題がないかを確認するため、flutter doctor
を実行したところ、Xcodeの項目でエラーが発生した。
エラー画面
エラーコード
[!] Xcode - develop for iOS and macOS (Xcode 15.1)
✗ Unable to get list of installed Simulator runtimes.
✗ CocoaPods not installed.
CocoaPods is used to retrieve the iOS and macOS platform side's plugin
code that responds to your plugin us![Untitled 1.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1602300/99c37416-fba0-8135-4b54-a5d8e86307e7.jpeg)
age on the Dart side.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/platform-plugins
To install see
https://guides.cocoapods.org/using/getting-started.html#installation for
instructions.
動作環境
- macOS 14.2(Sonoma)
- Xcode 15.1
前提条件
- Homebrew(パッケージ管理ツール)がインストールされている
- Xcodeがインストールされている
- Vimの使用経験がある
対策
まずは、以下のエラーから対応します。
✗ Unable to get list of installed Simulator runtimes.
上記のエラーは、XcodeのiOSシミュレータがインストールされていないか、最新でないことが原因のようなので、Xcodeのアプリを起動し、Settingsを確認します
Settingsを開いたら、Platfomsタブに移動し、シミュレータのインストール状況を確認します。
私の場合、下図の通りiOSのシミュレータがインストールできておらず、ステータスがGetになっているため、ボタンをクリックして、iOSのシミュレータをインストールします。
ファイルサイズが7GB弱あるので、5〜10分程度かかるかと思います。
この状態で再度flutter doctor
を実行すると、一つ目のエラーが解消されていることが確認できました。
[!] Xcode - develop for iOS and macOS (Xcode 15.1)
✗ CocoaPods not installed.
CocoaPods is used to retrieve the iOS and macOS platform side's plugin
code that responds to your plugin usage on the Dart side.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/platform-plugins
To install see
https://guides.cocoapods.org/using/getting-started.html#installation for
instructions.
それでは、残っているエラーの方を解消したいと思います。
書籍の中で、CocoaPodsという依存関係管理ツールをインストールするよう指示があったので、インストールコマンドを実行していたのですが、正しくインストールできていなかったようです。
再度、イントールコマンドを実行して、エラーの内容を確認したいと思います。
下記、インストールコマンドになります。
コマンドを実行するとパスワードの入力を求められますが、これはパソコンのロックを解除するパスワードと同じものを入力する形になります。
sudo gem install cocoapods
上記のコマンドを実行した結果、以下のようなエラー文が出力されていました。
ERROR: Error installing cocoapods:
The last version of drb (>= 0) to support your Ruby & RubyGems was 2.0.5. Try installing it with `gem install drb -v 2.0.5` and then running the current command again
drb requires Ruby version >= 2.7.0. The current ruby version is 2.6.10.210.
MacBook-Pro-4:~ hoge$ sudo gem install cocoapods
Password:
ERROR: Error installing cocoapods:
The last version of drb (>= 0) to support your Ruby & RubyGems was 2.0.5. Try installing it with `gem install drb -v 2.0.5` and then running the current command again
drb requires Ruby version >= 2.7.0. The current ruby version is 2.6.10.210.
エラーメッセージの内容からすると、PCにインストールされているRubyのバージョンが2.6と低く、CocoaPodsのインストールに必要なdrbライブラリとの互換性がないようです。
ライブラリをインストールするには、Rubyのバージョンが2.7以上である必要があるため、以下のコマンドを実行して、Rubyのバージョンアップを行います。
brew upgrade ruby
そうしたところ、以下のエラーが発生しました。
Error: ruby not installed
エラーメッセージの内容からすると、バージョン2.6のRubyがインストールされているはずですが、Rubyがインストールされていないというエラーが出ました。
どうやらこれは、Macに元々インストールされているRubyがバージョン2.6なのであって、Homebrew経由でインストールされているRubyは存在していないようです。
それでは、元々インストールされているRubyのバージョンアップを行えばいいかというと、それは好ましくなくないようです。
なぜなら、Macのシステムが、この元々インストールされているRubyを利用しているため、バージョンを上げてしまうことによって、Macのシステムの方に影響が出る可能性があるためです。
そのため、Homebrew経由で新たにRubyをインストールし、それを基にCocoaPodsをインストールする方法を取りたいと思います。
まずは、最新のパッケージを利用できるように、以下のコマンドで、Homebrewをアップデートしておきます。
brew update
Homebrewのアップデートができたら、Rubyをインストールします。
brew install ruby
続いて、システムにデフォルトで入っているRubyよりも、先ほどインストールしたRubyが優先されるようにパスを通したいので、vimで設定ファイルを開きます。
vim ~/.bash_profile
一番下の行に以下の内容を追加します。
export PATH="/usr/local/opt/ruby/bin:$PATH"
上記の設定を反映するために、ターミナルを再起動し、rubyが正しくインストールされているか確認するために、以下のコマンドでrubyのバージョンを確認します。
ruby -v
Rubyのバージョンが、3.2.2となっているので、問題なさそうです。
続いて、以下のコマンドを実行し、cocoa podsをインストールしていきます。
sudo gem install cocoapods
インストールが完了したら、cocoa podsの環境変数を設定していきます。
以下のコマンドを実行し、cocoa podsのインストール場所を確認します。
gem list -d cocoapods
赤枠箇所のパスをコピーします。
vimで環境変数の設定ファイルを開きます。
vim ~/.bash_profile
一番下の行に以下の内容を追加します。
export PATH="先ほどコピーしたパス/bin:$PATH"
先ほどコピーしたパスの後ろに/binと入れているのは、Gemの実行ファイルが格納される場所がbinフォルダの中だからです。
環境変数の設定ができたので、以下のコマンドを実行して、cocoa podsのバージョンが正しく表示されるか確認します。
pod --version
バージョンが表示されたので、cocoa podsのインストールと環境変数の設定が正しくできていそうです。
結果
これで、flutter doctor
の実行結果でエラーになっていた箇所について、対策できたはずなので、再度flutter doctor
を実行してみます。
flutter doctor
無事、全てのチェック項目がOKになりました。
参考資料
【Flutter】Unable to get list of installed Simulator runtimesの対処法
Unable to get list of installed Simulator runtimes | Flutter doctor