web-dev-qa-db-ja.com

「ポッドインストール」は既存のポッドを更新しません

pod installを使用してポッドを更新しようとしていますが、正しく更新されないことがわかりました元のポッドを削除しない限り

追加の手順が必要ですか、それとも更新が失敗する一般的な間違いがありますか?

39
Joey

どのバージョンのものかはわかりませんが、ココアポッドのインストールを最新バージョンに更新すると、これに役立つ2つの新しいコマンドが見つかります。

pod outdated

これにより、更新が利用可能なすべてのポッドがリストされます。

pod update

これにより、前のコマンドにリストされたポッドが更新されます

86
Edward Huynh

詳細タグを追加して、更新中にエラーが表示されるかどうかを確認できます。

pod install --verbose

--verboseを使用することが、何が起こっているのかを知る最良の方法です。更新元のリポジトリに問題がある可能性があります。言いにくい。

6
Bill Burgess

この質問の読者は、

ポッドのインストールとポッドの更新

CocoaPodsで始まる多くの人々は、PodのインストールはCocoaPodsを使用してプロジェクトを最初にセットアップしたときにのみ使用され、その後Podの更新が使用されると考えているようです。しかし、そうではありません。

  • pod installを使用して、プロジェクトに新しいポッドをインストールします。既にPodfileがあり、以前にpod installを実行した場合でも、そのため、既にCocoaPodsを使用しているプロジェクトにポッドを追加/削除する場合でも。
  • pod update [PODNAME]は、特定のポッドを新しいバージョンに更新する場合にのみ使用します。
  • pod updateは、すべてのポッドを新しい利用可能なバージョンに更新する場合にのみ使用します。

pod installコマンドが実行されるたびに(および新しいポッドをダウンロードしてインストールするたびに)、ポッドごとにインストールしたバージョンをPodfile.lockファイルに書き込みます。このファイルは、各ポッドのインストール済みバージョンを追跡し、それらのバージョンをロックします。 pod installを実行すると、Podfile.lockにまだリストされていないポッドの依存関係のみが解決されます。 Podfile.lockにリストされているポッドの場合、新しいバージョンが使用可能かどうかを確認せずにPodfile.lockにリストされている明示的なバージョンをダウンロードします。Podfile.lockにまだリストされていないポッドの場合、Podfile pod 'MyPod', '~>1.2'で)

5
Aamir

プロジェクトが 正しく構成されている の場合、Podsディレクトリ全体を削除してpod installを実行できるはずです。ポッドが正しくインストールされないという問題がある場合、これが最善のソリューションであることがあります。

注:ビルド時に次のようなエラーが発生し始める場合:

diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

... Xcodeでプロジェクトを閉じて再度開く が必要になる場合があります。

警告:Podsディレクトリを削除する前に、Podsディレクトリ内のすべてのファイルが再作成されることを確認してください。 (つまり、手動でファイルをPodsディレクトリに変更または追加していないことを確認してください。)

0
Senseful