pod install が失敗する場合の対処方法

久しぶりにプライベートなマシンで技術検証しようとpodコマンドを入力したところ、エラーが出力されたので原因と対処方法を調べたメモ

エラー内容

pod update コマンドを入力した際に、以下のエラーが出力された。

-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory

原因

CocoaPods が参照している Ruby のバージョンが 2.3 なのに対し、MacOS では Ruby のバージョンがデフォルトで 2.6 だったため。

環境

macOS Big Sur バージョン 11.7.5

対処方法

cocoapods を再インストールすることで対処することができた。

$ sudo gem uninstall cocoapods
$ sudo gem install cocoapods

プロキシ環境下で cocoapods インストールエラーが発生する場合の対処方法

プロキシ環境下での環境構築時に経験した問題の対処方法をメモしておきます.

プロキシ環境下で cocoapods のインストール時に以下のエラーが発生した.

$ sudo gem install -n /usr/local/bin cocoapods

ERROR:  Could not find a valid gem 'rails' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - no such name (https://rubygems.org/latest_specs.4.8.gz)

理由は,sudo コマンドに http_proxy 環境変数が適用されないため.
-E オプションを付加するとログインアカウントの環境変数を引き継いでくれる.

$ sudo -E gem install -n /usr/local/bin cocoapods

無事,cocoapods のインストールが行えました.

CocoaPods の Podfile にターゲットを指定していないと怒られた際の対処方法

先日,CocoaPods を使用していて,新しいバージョンがあるとメッセージがでていたので,バージョンアップしたところ,Podfile にターゲットを指定していないと怒られた.

しょうが無いので,以下の URL を参考にターゲットを指定したのだが,エレガントな方法が紹介されていたので,メモ.

1
2
3
4
5
6
7
# ターゲットを指定しない記述
pod 'Alamofire', '~> 3.1.4'
 
# ターゲットを指定している記述
target "TargetName" do
    pod 'Alamofire', '~> 3.1.4'
end

参考: エレガントな方法は以下を参照
CocoaPods: The Elegant Solution To Installing The Same Pod In Multiple Targets

pod install 時に SSL エラーが出力された場合の対処方法

1
2
3
4
5
6
$ pod install
Analyzing dependencies
Downloading dependencies
          :
     (省略)
SSL certificate problem: Invalid certificate chain

取り急ぎ対応する必要があったので、(本当は良くないが…).gitconfig の http.sslVerify を false にした。

1
$ git config --global http.sslVerify false

CocoaPods の利用方法

1. インストール方法
$ sudo gem install cocoapods

– CocoaPods で利用可能なライブラリ情報を取得する
$ pod setup

(メモ) gem のバージョンが古い場合は、アップデートする
$ sudo gem update –system

2. 新規プロジェクトを作成する方法
– 任意のディレクトリに xcode プロジェクトを作成する
(プロジェクト名).xcodeproj と同じディレクトリに Podfile を作成する

– Podfile の書式:pod ライブラリ名 バージョン指定

platform :ios, "5.0"
pod 'JSONKit', '~> 1.4'
pod 'BlocksKit'
pod 'FTUtils'
workspace '(アプリ名).xcworkspace'
xcodeproj '(アプリ名).xcodeproj'

参照: cocoapods.org

– podfile に記述されたライブラリのインストール
$ pod install

– 自分で作成したプロジェクトと Podfile で指定したライブラリを格納した workspace ファイルが作成される
– CocoaPods が、ライブラリのリンク設定を行ってくれるので助かる。(^^)

ビルド時にエラーが出力されるようなら以下の点を確認する。
・ライブラリが利用している framework の設定

– CocoaPods がサポートしているライブラリは以下を参照のこと。
参照: CocoaPods/Specs