【问题标题】:How to lock down CocoaPod library version?如何锁定 CocoaPod 库版本?
【发布时间】:2014-01-17 02:15:27
【问题描述】:

目前我在 Podfile 中指定的更新版本的库会破坏我们的应用程序构建。当您执行pod update 时会发生这种情况。这是因为我们的 Podfile 为某些库指定了模糊匹配版本。我们需要将它们锁定到特定版本,例如我的 pod 文件中有 AFNetworking, '~> 1.0 ,当我执行“pod update”时,它会安装 AFNetworking', '~> 1.3.3 ,但是我只想将库锁定到 1.0。

【问题讨论】:

  • ~> 1.0 可能会允许更新直到1.9.9

标签: ios objective-c iphone cocoapods


【解决方案1】:

根据podfile syntax reference,可以使用operators来指定要安装的pod的版本:

  • > 0.1 任何高于 0.1 的版本
  • >= 0.1 0.1 及更高版本
  • < 0.1 任何低于 0.1 的版本
  • <= 0.1 0.1 及更低版本
  • ~> 0.1.2 0.1.2 及0.2 以下版本,不包括0.2

但是,在您的情况下,听起来您只想使用版本号并将其“冻结”到 1.0,对吗?如果是,你可以写

pod 'AFNetworking', '1.0'

在你的 podfile 中。

请注意,您使用的 ~> 符号将更新到 2.0 版,不包括 2.0。

【讨论】:

  • 这会在 pod 安装和 pod 更新期间停止任何指定冻结版本的下载和替换吗?还是 cocoapods 仍然会下载指定版本的新副本,即使该版本相同?
  • 我不知道 CocoaPods 的内部结构,但我猜它不会重新下载已经存在的依赖项。您可以尝试使用--verbose 选项来查看日志是否提到任何有趣的内容!
【解决方案2】:

当你更新你的 pod 库时试试这个命令;

pod 更新 --no-repo-update

pod install --no-repo-update

这样您当前的库就不会被更新。

这里是链接,你可以找到更多细节

http://guides.cocoapods.org/terminal/commands.html#pod_update http://guides.cocoapods.org/terminal/commands.html#pod_install

【讨论】:

    【解决方案3】:

    您可以在 pod 文件中选择需要的版本

    pod 'AFNetworking', '~> 1.0'
    

    Here is similar question

    【讨论】:

      猜你喜欢
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 2020-10-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多