我正在尝试使用更新我的 podpod install
并发现它无法正确更新,除非我删除原始 pod。
是否需要一些额外的步骤,或者是否存在导致更新失败的常见错误?
我正在尝试使用更新我的 podpod install
并发现它无法正确更新,除非我删除原始 pod。
是否需要一些额外的步骤,或者是否存在导致更新失败的常见错误?
我不确定从哪个版本开始,但是如果您将 cocoapods 安装更新到最新版本,您会找到两个新命令来帮助解决这个问题。
pod outdated
这将列出所有有可用更新的 pod。
pod update
这将更新上一个命令中列出的 pod
您可以添加详细标签并查看更新期间是否出现错误。
pod install --verbose
使用--verbose
是找出发生了什么的最好方法。它尝试更新的存储库可能存在问题。很难说。
我认为这个问题的读者必须了解
pod 安装与 pod 更新
许多从 CocoaPods 开始的人似乎认为pod install
仅在您第一次使用 CocoaPods 设置项目时使用它,然后pod update
再使用它。但事实并非如此。
pod install
在您的项目中安装新的 pod。即使你已经有一个 Podfile 并且之前运行pod install
过;因此,即使您只是在已经使用 CocoaPods 的项目中添加/删除 pod。pod update [PODNAME]
仅在您要将特定 pod 更新到较新版本时使用 。pod update
仅当您想要将每个 pod 更新到更新的可用版本时使用 。每次pod install
运行命令时——并下载和安装新的 Pod——它都会在文件中写入它为每个 Pod 安装的版本Podfile.lock
。此文件跟踪每个 pod 的已安装版本并锁定这些版本。当您运行时pod install
,它只会解析Podfile.lock
. 对于 中列出的 pod Podfile.lock
,它会下载 中列出的显式版本,而Podfile.lock
不会尝试检查是否有新版本可用 对于尚未列出的 pod Podfile.lock
,它会搜索与 Podfile 中描述的版本匹配的版本(如 中pod 'MyPod', '~>1.2'
)
如果您的项目配置正确,您应该可以删除整个Pods
目录并运行pod install
。我发现当 pod 安装不正确时,这有时是最好的解决方案。
注意:如果您在构建时开始收到此类错误:
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 目录。)