我知道下面的命令将更新一个pod: pod update <podname>。然而,这也会更新你之前安装的其他pod(没有包含在update命令中的pod)的依赖关系。是否有一种方法可以更新单个pod而不影响所有其他依赖?


当前回答

它是2015

因此,由于pod更新SomePod涉及最新版本的cocoapods中的所有内容,我找到了一个变通办法。

请遵循以下步骤:

从Podfile中删除SomePod 运行pod安装

pods现在将从我们的项目和Podfile中删除SomePod。锁文件。

把SomePod放回Podfile中 再次运行pod install

这一次我们的pod的最新版本将被安装并保存在Podfile.lock中。

其他回答

这是一个异常值,不太可能是OP正在处理的问题,但是如果您在计算机上使用本地pod, pod update <podname>将在所有情况下都不起作用。

在这种情况下,只有在podspec文件发生更改时才会触发pod更新。但是,做一些改变也可以让吊舱安装正常工作。

在这种情况下,您可以只修改一些较小的内容,例如只修改一个字母的描述或摘要,然后就可以成功地运行install或update命令。

只是一个小通知。

pod update POD_NAME

将工作,只有当这个豆荚已经安装。否则,您将不得不更新所有这些

pod update

命令

确保安装了最新版本的CocoaPods。

$ pod更新PODNAME最近被引入。

有关更多信息,请参阅此问题线程:

$ pod更新 当你运行pod更新SomePodName时,CocoaPods会尝试找到pod SomePodName的更新版本,而不考虑Podfile.lock中列出的版本。它会将pod更新到最新版本(只要它与Podfile中的版本限制相匹配)。 如果您运行pod update而没有任何pod名称,CocoaPods将把Podfile中列出的每个pod更新到最新版本。

POD_NAME将更新最新的pod,但不更新Podfile。锁文件。

因此,你可以使用pod的特定版本来更新Podfile,例如pod 'POD_NAME', '~> 2.9.0',然后使用命令pod install

稍后,您可以从Podfile中删除特定的版本名称,并可以再次使用pod install。这将有助于保持Podfile。锁更新。

我使用cocoapods 1.0.1版本,并使用pod更新pod名称完美地工作。不会更新其他pod,只更新您进入的特定pod。