🤖
podコマンドのバージョン固定
CocoaPods
のインストールといえば
$ gem install cocoapods
って書いてある事が多い。
これだと
- 複数人で開発する時に別々のバージョンが入る事がある
- そのせいで、
Podfile.lock
に差分が出る
という事故がたまーに起きる。
なので、
$ gem install cocoapods -v x.x.x
という感じで指定する。
でも、別のプロジェクトだとバージョンが違うとか起こる…。
というわけで、僕はbundler
を使って入れています。
bundler
を使う
bundleを使っておけば、CocoaPods
以外に使いたいgem
が出てきてもGemfile
に追加すれば良いので便利。
とか。
bundler
のインストール
$ gem install bundler
Gemfile作成
$ cd $PROJECT_ROOT
$ cat > Gemfile <<EOD
source 'https://rubygems.org'
gem 'cocoapods'
<<EOD
- 任意のバージョンで固定したい場合
$ gem 'cocoapods', '0.33.1'
とか書く。
bundle install
$ cd $PROJECT_ROOT
$ bundle install --path=vendor/bundle --binstubs=vendor/bundle/bin
pod install
-
Podfile
を用意してから
$ cd $PROJECT_ROOT
$ bundle exec pod install
おまけ
direnv
を入れておくとbundle exec
が要らなくなって便利
install
$ brew install direnv
- Hookの登録
eval "$(direnv hook zsh)"
設定
$ cd $PROJECT_ROOT
$ cat > .envrc <<EOD
export PATH=$PWD/vendor/bundle/bin:$PATH
EOD
$ direnv allow
これで、PROJECT_ROOT
にcd
すれば
pod install
と使えるようになる。
Discussion