The definitive guide to install and updating pods

200

Gabrielle Earnshaw

Follow
Oct 9, 2018 – 5 min read

pod installpod updateの違いは微妙で、どちらを使うべきかは必ずしも明確ではありません。 しかし、これらのコマンドが何をするかをよく理解することで、プロジェクトで依存関係をどのように管理するかをより細かく制御できるようになるので、この違いを知ることは価値があります。

この記事の最初の部分では、いくつかのよくある状況で pod install または pod update を実行すべきか示すレシピのリストを提供します。

これらのレシピが動作するためには、PodfilePodfile.lock がソース・コントロールにコミットされていることを確認してください。

あなたは初めてプロジェクトで CocoaPods をセットアップし、Podfile

pod install

これにより、新しい Podfile で指定した各 Pod の最新バージョン* がインストールされます。 5008>

You added a new pod to your Podfile

pod install

これは、他のポッドを変更せずに、Podfile に追加された新しいポッドの最新バージョン* をインストールします。

代わりに pod update を実行すると、新しい Pod をインストールし、既存の各 Pod を最新バージョン* に更新します。

Podfile にあるすべての Pod の最新バージョンを取得したい場合

pod update

これにより、すべての Pod を調べて、プロジェクトにそれぞれの最新バージョン* がインストールされているかどうか確認します。

Podfile

pod update SomePod

これにより、他の Pod を変更しないまま、指定した Pod の最新バージョン* がインストールされることが確認されます。

開発ポッドで作業していて、最新の変更を取得したい場合

pod update MyDevelopmentPod

これは、他のポッドを変更せずに、指定したポッドの最新バージョンがインストールされることを確認します。

CocoaPods

pod install を使用する既存のプロジェクトのソースをダウンロードした場合、ソース コードのこのカットで以前にインストールされたのと同じバージョンで Podfile のすべての Pod がインストールされます。 これは、最新バージョンがプロジェクト内の他のコードと互換性がない場合、プロジェクトをビルドできないようにする可能性があります。 5008>

Build Server

でプロジェクトをビルドするスクリプトを書いている場合

pod install

これにより、ビルドされるバージョンでインストールされたのと同じバージョンで Podfile のすべての pod がインストールされます。 これは安定したビルドにとって重要です。なぜなら、これらはコードが開発されたバージョンであり、コードのカットのすべてのビルドが同じポッドバージョンを使用することを意味するからです。 5008>

Xcode は、Pod に関連する奇妙なビルド エラーを報告する

これは、Pod を更新した後、または異なるバージョンで同じ Pod を含むプロジェクトの分岐間を切り替えた後に時々発生する現象です。

/Pods ディレクトリを削除し、pod install を実行する。

これにより、Podfile のすべての Pod が、以前にインストールされていたのと同じバージョンで再インストールされ、通常、Xcode が発見する問題を正すのに十分です。 これは Xcode でのすべての問題を解決しますが、Podfile の各 Pod を最新バージョンにアップグレードします*。

Part 2: How it works

pod installpod update の違いは、それらが Podfile.lock ファイルとどう作用するかにあります。 このファイルは、プロジェクトに現在インストールされている各 Pod の正確なバージョンを保存するために使用されます。

これがどのように機能するかを理解する最も簡単な方法は、次の図を見ることです (免責事項:これは正確な技術図ではなく、簡単な回路図です)。

Pod install vs. pod update

pod update

pod update はバージョンを確認する際に Podfile.lock は無視されます。 5008>

pod install

pod install は、バージョンをチェックする際に、まず Podfile.lock を調べます。 もし Pod のバージョンが Podfile.lock にリストされていれば、その正確なバージョンをインストールします。 Podfile.lock にリストされていない場合 (または Podfile.lock がまだ存在しない場合) は、pod update と同様に動作し、つまり、最新の利用可能なバージョン* を見つけてそれをインストールします。

まとめ

この記事では、多くの一般的な状況において pod installpod update のどちらを実行するかを示すレシピを提供しました。 そして、この 2 つのコマンドが異なる方法で動作する方法と理由を説明しました。 もし、この記事が役に立ったなら、拍手と/または、シェアをお願いします。

admin

コメントを残す

メールアドレスが公開されることはありません。

lg