未分類

[時効] cocoapodsのバージョンバラバラ事件

投稿日:

どうも現場のなかたです

いろんなiOSプロジェクトをやってると
cocoapodsのバージョン違いでPodfile.lock周りでエラーが出て、モヤっとすることないですか?
私だけすか?
その事件がついに時効を迎えました。

みなさんのiOS開発するとき自慢のMacに

sudo gem install cocoapods

こんな感じで意気揚々とcocoapodsを入れたかと思います。
しかし時が経って、こんなことやると…

$ gem list | grep cocoapods
cocoapods (1.7.0, 1.6.1, 1.5.3)

色んなバージョン入ってーらー、、、こんなことないですか?

ちゃんと各プロジェクト、バージョン固定しようぜ運動をはじめました

見てわかる通り、cocoapodsさんはgemなので、bundler管理しちゃいましょう

やりかた

1.bundlerのインストール

gemをまとめてポンのbundlerをmacにインストールしましょう

sudo gem install bundler

2.bundler初期化

cocoapodsを使っているディレクトリに移動して

bundle init

そったら、Gemfileができます

3.Gemfile編集

$ vi Gemfile

# frozen_string_literal: true

source "https://rubygems.org"

# git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } # <== コメントしちゃおう

# gem "rails"
gem 'cocoapods', '1.7.0' # <== 追加

4.見えない化

$ vi .gitignore

/vendor
.bundle

5.cocoapodsインストール

bundle install --path vendor/bundle

これでプロジェクト指定のcocoapodが入ります

6.podインストール

bundle exec pod install

プロジェクトに関するライブラリが入ります


ディレクトリ構成

こんな感じになりますた

- Gemfile
- Gemfile.lock
- iOSProject
- iOSProject.xcodeproj
- iOSProject.xcworkspace
- Podfile
- Podfile.lock
- Pods  <-- ここにライブラリ入るネ
- vendor  <-- ここにcocoapods入るネ

補足

globalな環境にcocoapods入れてもいいかなと思いましたが、
環境を汚したくない派の人間なんで、プロジェクト内に納めた方が綺麗だなと。

今日はこんな感じで。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

CODE QUEST 〜伝説ノエンジニア、求ム〜 // 寿司求めて

『GeekOut』というITエンジニア転職サイトで公開されているプログラミング問 …

コーテッグに「Google Home」がやって来た!

10月からコーテッグに新メンバーが加入しました! その名も「Google Hom …

【2019年版】オフィスまでの経路のご案内(from 小川町&新御茶ノ水)

こんにちは。たなかです。 旧オフィスの場所は紹介記事があるのに、現オフィス(20 …

プログラミング初心者にはタイピングの練習がおすすめ?

こんにちは!コーテッグの小山です! プログラムを始めてから1年たってないぐらいと …

【COMP】ねるねるねるね + COMP

以前、「完全食COMP」というものを頂いて食べてみたのですが、 自分には味が合わ …