【问题标题】:Accidentally ran pod update instead of pod install. Is there any way to revert?意外运行 pod update 而不是 pod install。有什么办法可以挽回吗?
【发布时间】:2016-06-28 06:48:50
【问题描述】:

我不小心运行了pod update 而不是pod install,现在我的项目中出现了编译错误。

有什么简单的方法可以恢复到我以前的 pod 吗?

我正在考虑破解它——我的 Podfile.lock 文件处于源代码控制之下,所以我可以从中获取版本号,然后将 Podfile 锁定到这些数字,例如:

pod 'AFNetworking', '2.6.3'

但是有没有像pod revertpod undo 之类的简单命令?

否则,我可能会接受它并更新我的项目代码以与新的 pod 兼容。

【问题讨论】:

    标签: cocoapods


    【解决方案1】:

    如果您使用 git 或其他版本控制系统,只需重置 Podfile.lock 中的更改并在终端中运行 $ pod install

    【讨论】:

    • 这并不理想,因为它依赖于之前提交的更改。建议删除 pods 目录的其他答案不管提交如何...
    • 重置更改是什么意思?
    • @MohsinKhubaibAhmed ,丢弃Podfile.lock 中出现在pod update 之后且尚未提交的更改。
    【解决方案2】:

    您可以查看pod install 输出中的版本更改,并使用所需的版本重写您的 podfile。


    例如:

    在下面的pod install 输出中,SwiftSpinner0.9.5 更新为1.0.2

    因此,在podfile改行

    pod 'SwiftSpinner'
    

    pod 'SwiftSpinner', '0.9.5'
    

    然后再次运行pod update


    现在,您可能会在还原某些 pod 时遇到错误:

    [!] 无法满足以下要求:

    - `Podfile` 需要的`Realm (= 1.0.2)`

    - `Podfile.lock` 需要的`Realm (= 1.1.0)`

    在这种情况下,关闭Xcode,删除您的podfile,然后再次运行pod install

    【讨论】:

    【解决方案3】:

    最好的方法是从你的项目中删除 pods 目录,然后更新并重新安装。

    rm -rf Pods 
    bundle exec pod repo update
    bundle exec pod install
    

    【讨论】:

      【解决方案4】:

      删除以下文件和文件夹:
      - xcworkspace
      - Podfile.lock
      - 豆荚(文件夹)

      之后,运行:

      $ pod install
      

      这似乎有些冒险,但实际上并非如此。我一直这样做

      【讨论】:

      • 嗯,.xcworkspace 实际上是由 cocoapods 生成的,其余的也是,所以这应该不是问题...
      猜你喜欢
      • 2019-07-02
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2020-08-13
      • 2019-09-12
      • 1970-01-01
      • 2017-11-30
      • 2017-03-26
      相关资源
      最近更新 更多