LoginSignup
0
0

Flutter環境構築のためのCocoaPods・Rubyのダウンロード

Posted at

Flutterでアプリを実際に動かしたいが、runしてもchromeアプリさえ表示されない。そのためにCocoaPodsというモジュールのインストールが必要だったのだが、2時間ほど手こずったのでメモを残しておく。

cocoapodsのインストール、でもできない

公式サイトを参考に、CocoaPodsのダウンロードを試みる。

sudo gem install cocoapods

しかし、cocoapodsがインストールできない。
Rubyがダウンロードできていないとダメなようです。

Rubyのインストール

ruby installのサイトを参考にしながらRubyをインストール。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
cd
git clone https://github.com/excid3/asdf.git ~/.asdf
echo '. "$HOME/.asdf/asdf.sh"' >> ~/.zshrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.zshrc
echo 'legacy_version_file = yes' >> ~/.asdfrc
exec $SHELL

ASDFというバージョンマネージャーを使用して、ruby 3.3.0をダウンロード。

asdf install ruby 3.3.0
asdf global ruby 3.3.0

# Update to the latest Rubygems version
gem update --system

ここでエラーが表示されました。
エラーメッセージからyaml.h ファイルが見つからないことが原因で psych 拡張モジュールが構築できていないようです。

yaml ライブラリのインストール

brew install libyaml

以下の通りダウンロードができました。

libyaml 0.2.5 is already installed and up-to-date.

続いてRubyのインストールに再挑戦。

asdf install ruby 3.3.0

正しくダウンロードできているか、Rubyの場所とバージョンを確認。無事ダウンロードできているようです。

which ruby
#=> /Users/username/.asdf/shims/ruby/3.3.0

しかし、rubyのバージョンを確認すると、別のバージョンが表示されました。2年ほど前にダウンロードしていますね。

ruby -v
#=> ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin23]

以下のコマンドで使用するrubyのバージョンを指定します。

rbenv global 3.3.0

rbenvのインストール

まだrbenvをインストールをしていなかったので、インストールと初期化を以下で行いました。

# ダウンロード
brew install rbenv
# 初期化
eval "$(rbenv init -)"

ダウンロードできるRubyのバージョン一覧を表示

rbenv install -l

rbenvでRuby最新版をダウロード

rbenv install 3.3.0

以下のようにバージョンを確認すると、無事最新版の3.3.0に更新されていました。

ruby -v
#=> ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin23]

そして待ちに待ったcocoapodsのインストールへ!

【再挑戦】 cocoapodsのインストール

sudo gem install cocoapods

無事インストールが終了しました。
再びFlutter doctorを実行。

flutter doctor

あれ、まだエラーが、、

# Xcodeのコマンドラインツールをインストールする
sudo xcode-select --install
# Xcodeを選択する
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
# 初回起動時にXcodeが必要な追加のセットアップを行う
sudo xcodebuild -runFirstLaunch

以下のように無事Xcodeとの接続ができました。

flutter doctor
#=>[✓] Xcode - develop for iOS and macOS (Xcode 15.3)

まだMacOSやAndroidでは使用できませんが、runするコットでChrome上では無事表示されるようになりました!

import 'package:flutter/material.dart';

void main() {
  const print_helloworld = MaterialApp(
    home: Scaffold(
      body: Center(
        child: Text('Hello, world'),
      ),
    ),
  );
  runApp(print_helloworld);
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0