cocoapods管理方法
cocoapodsの管理方法は大抵以下の3つのどれかの手順を踏むかと思いますが、今回は1.の方法を書いていきたいと思います。
1.HomeBrew, rbenv, Bundler, Cocoapodsを使用する
2.Homebrew, Cocoapodsを使用する
3.Cocoapodsを使用する
用語紹介
homebrew
OS X 向けのパッケージ管理ツールのこと。
rbenvやgitなどを管理する。
rbenv
複数のRubyのバージョン管理を行う。
Rubyの管理・切り替えができる。
bundler
依存関係にあるgemのインストールやバージョン管理を行う。
Rubyのプラグインを特定のディレクトリに入れる。
gemのローカル管理ができる。
gem
Rubyのパッケージ(ライブラリ)を管理してくれる。
cocoapodsなどを管理する。
cocoapods
Rubyのgemの一つ。
プロジェクトの依存関係を管理するツール。
導入手順
それぞれの導入手順を解説していきます。
Homebrew
こちらがHomebrewの公式サイトで、インストール方法やドキュメントが確認することができます。
Homebrew をインストール
1. HomeBrew をインストールしていない方は下記のコードを実行して、 Homebrew をインストールしてください。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2.brew -v
やbrew --version
を実行し、バージョン確認ができたら成功です。
Homebrew バージョン名 //Homebrew 3.3.3など
rbenv
こちらがrbenvのGithubです。
rbenvインストール
- Homebrew から rbenv をインストール
brew install rbenv
2.シェルに rbenv を設定する
rbenv init
3.ターミナルウィンドウを閉じて新しいウィンドウを開き、変更を有効にします。
4.rbenv-doctor スクリプトを使って rbenv が正しく設定されていることを確認します。
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
これで完成です。rbenvのインストールにはruby-buildが含まれているので、これでrbenv installを使って他のRubyバージョンをインストールする準備が整いました。
Rubyバージョンのインストール
1.最新の安定版をリストアップします。
インストールしたいRubyバージョンが決まっている方はこの処理を省略して大丈夫です。
rbenv install -l
2.リストされたRubyバージョンのどれかをインストールします。
rbenv install バージョン番号 //rbenv install 3.0.3など
Rubyのバージョンを変更する
Rubyのバージョンと global or local を設定していきます。
globalとは、Macに標準搭載されているRubyのことでシステム全体で適用されます。
localとは、設定したディレクトリ以下でのみ適用されます。なので、プロジェクトごとにRubyのバージョンを管理できます。
1.まずは現在インストールされているRubyのバージョンを確認します。
rbenv versions
このような一覧画面が表示されます。
$ rbenv versions
1.8.7-p352
1.9.2-p290
* 1.9.3-p327 (set by /Users/sam/.rbenv/version)
jruby-1.7.1
rbx-1.2.4
ree-1.8.7-2011.03
2.今回はlocalを使用します。上記のバージョン番号一覧の中からバージョン番号を選び実行します。
これによりカレントディレクトリでは指定されたバージョン番号のRubyの使用されます。
globalを使用した場合はシステム全体で指定されたRubyが使用されます。(localで設定されたディレクトリを除く)
Homebrew や rbenv は一度インストールされるとシステム全体に適応されますが、ここから先は local でのみ適応させることもできるので、違うプロジェクトでも導入する場合ここから先を参照してください。
rbenv local(global) バージョン番号
3.localを使用した場合は以下のコマンドの実行し、カレントディレクトリに.ruby-version
が存在する場合は成功です。
globalの場合はホームディレクトリに存在すると思います。
ls -a
Bundler
現在セットされている Ruby で bundler をインストールしていきます。
Bundler の Github、公式ドキュメントはこちら。
Bundlerをインストール
1.RubyのRuby gems(gemのこと)を使用して、bundlerをインストールします。
バージョン番号はこちらを参考にしてください。
今回は例題として'~> 2.1'を指定したいと思います。
gem install bundler -v '~> 2.1'
下記のようなエラーが出る場合は、こちらの記事を参照してください。
現在のシェルを確認する方法はこちらです。
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
2.gemfileを作成します。
bundle init
3.gemfile を編集し、 cocoapods を追加します。
※# gem "rails"
はコメントアウトしてあるので合ってもなくても変わらないです。
vi gemfile
今回は例題として、'~> 1.10'
のバージョン指定を行いたいと思います。
gem 'cococapods', '~> 1.10'
gemfileはこのようになると思います。
# frozen_string_literal: true
source “https://rubygems.org”
git_source(:github) { |repo_name| “https://github.com/#{repo_name}” }
gem 'cocoapods' , '~> 1.10'
4.bundleをインストールします。
bundle install
ここで以下のエラーにハマりましたので、一応書いておきます。
There was an error while trying to write to User/ユーザー名/アプリ名/.bundle/cache/.../versions.
It is likely that you need to grant write permissions for that path.
キャッシュが残っていることが原因ぽかったので、ホームディレクトリ/.bundle/cache
を一度削除して、bundleをインストールし直したら解決しました。
CocoaPodsをインストール
1.podfileを作成
bundle exec pod init
2.podfileを編集し、ライブラリを追加します。
vi podfile
3.インストールしたいライブラリを記述していきます。
ライブラリのバージョン番号の指定方法はこちらを参考にしてください。
今回は例題としてAlamofireの'~> 5.4'
バージョンをインストールしたいと思います。
pod 'Alamofire', '~> 5.4'
全体はこのようになります。
# Uncomment the next line to define a global platform for your project
# platform :ios, ‘9.0’
target ‘CoordinatorTest’ do
# Comment the next line if you don’t want to use dynamic frameworks
use_frameworks!
# Pods for CoordinatorTest
pod 'Alamofire', '~> 5.4' // ここ追加
end
4.podをインストールして終了です。
bundle exec pod install
インストールが完了すると、下記のような緑の文字列が表示されます。
これで pod のインストールが完了です。
※インストールするライブラリの数により数字は変わります。