プラグインをアップデートしたあと、それをネイティブプロジェクトに反映させようと npx cap update
を実行すると、よく以下のエラーが表示されます。
[error] Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "****":
In snapshot (Podfile.lock):
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* changed the constraints of dependency `FBSDKCoreKit` inside your development pod
`CapacitorCommunityFacebookLogin`.
You should run `pod update FBSDKCoreKit` to apply changes you've made.
よく読むとそのままなのですが、これはCapacitor iOSで利用されているパッケージ管理ライブラリ「CocoaPod」が、「現在グルーバルに保存されている(npmでいうグローバルインストール先)のパッケージとバージョンが違いますよ」とエラーをだしています。エラーなんてださずに自動的にアップデートしてくれたらいいのに。
エラー文で表示されているように、 pod repo update
か pod install --repo-update
をやってあげる必要があります。これは、CocoaPodで管理されているディレクトリに移動する必要があります。これはpackage.jsonのあるレポジトリでしか npm install
できないのと同じですね。
% cd ios/App
% pod repo update
これでグローバルに保存されてるパッケージのアップデートを行うことができました。続いて。このプロジェクトのパッケージのアップデートを行いましょう。
% pod update
これでパッケージのアップデートを行うことができました。念のために通ってることを確認しましょう。
% cd ../..
% npx cap update ios
まずこれでプラグインの更新が完了します。ちなみにまずないですが、何度かこの手順でもエラーがでたことがあったんですが、その場合 ios/App/Podfile.lock
(npmでいう、package-lock.json)を削除して再インストールすれば直りましたので参考になれば。
それではまた。