【问题标题】:Updating to latest version of CocoaPods?更新到最新版本的 CocoaPods?
【发布时间】:2017-01-21 17:45:51
【问题描述】:

我在将Alamofire 4.0 安装到我的项目中时遇到了一些问题。

我有最新版本的 Xcode,正在运行 Swift 3,当我尝试安装 alamofire 时,我遇到了大约 800 个编译器错误。

显然

构建 Alamofire 4.0.0+ 需要 CocoaPods 1.1.0+

[!] some_cocoapod 需要 CocoaPods 版本 >= X.Y.Z,您当前的版本不满足 Z.Y.X

我查看了终端中的 CocoaPods 版本,它说我是 1.0.1。

我猜是因为CocoaPods 1.1 处于测试阶段,所以运行更新不起作用。

所以我不确定如何将它更新到我可以去的地方。 除非过时不会像 800 编译器错误那样强制?这听起来像是其他问题吗?

【问题讨论】:

    标签: ios swift xcode cocoapods


    【解决方案1】:

    在您的终端上执行以下操作以获取最新的稳定版本

    sudo gem install cocoapods
    

    添加--pre以获取最新的预发布:

    sudo gem install cocoapods --pre
    

    如果您最初使用 sudo 安装了 cocoapods gem,您应该再次使用该命令。

    稍后,当您通过安装 pod 积极使用 CocoaPods 时,当有新版本可用时会通知您 CocoaPods X.X.X 现已可用,请更新消息。

    【讨论】:

    • 如果您想要最新的稳定版本,请删除--pre
    • 我现在使用--pregem install cocoapods -v 1.4.0.rc.1 是否等效?会一样吗?
    • @BartłomiejSemańczyk 发布候选,所以通常意味着官方不稳定
    • 在没有 pod setup 之后似乎无法工作。
    • 永远不要使用sudo安装依赖项!
    【解决方案2】:

    我尝试更新,但没有成功。最后,我必须(手动)完全删除 cocoapods、cocoapods-core、cocoapods-try.. 以及 cocoapods 使用的任何其他包。使用此终端命令列出所有包:

    gem list --local | grep cocoapods

    之后,我还从用户的根文件夹中删除了 ./cocoapods 文件夹。

    【讨论】:

      【解决方案3】:

      在命令下方打开Terminal->copy

      sudo gem install cocoapods
      

      它将安装cocoapods的最新稳定版本。

      之后,您需要使用以下命令更新 pod

      pod setup
      

      您可以使用以下命令检查 pod 版本

      pod --version
      

      【讨论】:

      • 在这之后还需要运行 pod setup --verbose 吗?
      • @GraSim 是的。必须的
      • 您的 gemfile 可能被锁定到旧版本,在这种情况下运行 bundle update cocoapods 以使用最新的 cocoapods 获取您的项目
      【解决方案4】:

      我在终端中将 "pod 'Alamofire', '~> 4.0'" 更改为 "pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire', :commit => '3cc5b4e'" pod install --repo-update”,它可以工作。

      【讨论】:

        【解决方案5】:

        对于那些拥有sudo-less CocoaPods installation(即,您确实想要授予RubyGems 管理员权限)的人,您根本不需要sudo 命令来更新您的CocoaPods 安装:

        gem install cocoapods
        

        您可以找到在哪里 CocoaPods gem 的安装位置:

        gem which cocoapods
        

        如果这是你的主目录,你绝对应该运行gem install cocoapods而不使用sudo

        最后,检查您当前正在运行的 CocoaPods 类型:

        pod --version
        

        【讨论】:

          【解决方案6】:

          以下是更新 cocoapods 的步骤:

          1. 打开终端(快捷方式:Press cmd + space tab 打开 Spotlight,然后在 terminal 中输入文字)
          2. 使用命令sudo gem install cocoapods。出于安全考虑,这将在安装 gems 之后要求输入系统密码

          1. 现在,使用pod setup 命令设置 pod。这将设置 cocoapods 主存储库。

          1. 您可以使用pod --version 命令检查cocoapods 的版本。

          【讨论】:

            【解决方案7】:

            如果您启用了 系统完整性保护 或任何其他权限写入错误(自 macOS Sierra 版本起默认启用),您应该更新 CocoaPods,在终端中运行此行:

            sudo gem install cocoapods -n/usr/local/bin
            

            安装后,检查你的 pod 版本:

            pod --version
            

            你会摆脱这个错误:

            ERROR:  While executing gem ... (Gem::FilePermissionError)
            You don't have write permissions for the /usr/bin directory
            

            它会安装最新的 CocoaPods:

            Successfully installed cocoapods-x.x.x
            Parsing documentation for cocoapods-x.x.x
            Installing ri documentation for cocoapods-x.x.x
            Done installing documentation for cocoapods after 4 seconds
            1 gem installed
            

            【讨论】:

            • 这是我从 1.8.4 升级到 1.9.1 的唯一解决方案。不确定我以前是否使用过 brew 安装过。
            • 这应该是最佳答案
            • 同意这可能是最佳答案。这个答案帮助我从1.9.1 更新到1.10.0.rc.1
            • 唯一的答案也对我有用
            【解决方案8】:
            First check cocoapods version
            like pod --version
            then update like sudo gem install cocoapods --pre
            
            after update you can also check cocoapods version.
            

            【讨论】:

              【解决方案9】:

              如果您使用 Homebrew,请打开终端并输入:

              brew upgrade cocoapods
              

              如果这不起作用,请尝试:

              brew install cocoapods
              

              之后,运行:

              brew link --overwrite cocoapods
              

              【讨论】:

              • 有没有可能是自制版本有时落后于gem版本?
              • 有可能,我得到的是 1.9.1,而最新的 gem 是 1.9.3
              • 我也收到消息“cocoapods 1.9.1 已安装”,虽然版本似乎是 1.9.3 @BananZ 你解决了这个问题吗?
              • 不,因为变化很小,我只是忽略警告 -> 'github.com/CocoaPods/CocoaPods/releases' 和 'github.com/CocoaPods/Core/compare/1.9.1...1.9.3'。无论如何,我刚刚检查过,最新的 1.9.3 现在可以在自制软件中使用..'github.com/Homebrew/homebrew-core/pull/55646'。如果您有兴趣,可以尝试为 Brew 做出贡献以供将来升级(我从未这样做过,但会在不久的将来尝试)。
              【解决方案10】:

              您可以通过以下命令解决此问题:

              第一:

              sudo gem install cocoapods
              

              Desp: 输入用户 mac 密码现在您的 cocoapods 将被替换为稳定版本。

              您可以通过以下方式找到 CocoaPods gem 的安装位置:

              gem which cocoapods
              

              如果你已经克隆了 repo 然后输入这个命令:

              pod repo update
              

              关闭您的 xcode 并运行此命令

              Pod install
              

              【讨论】:

                【解决方案11】:

                这是一个非常快速详细的解决方案

                打开终端并执行以下命令以获取最新的稳定版本:

                sudo gem install cocoapods
                

                添加 --pre 以获取最新的预发布:

                sudo gem install cocoapods --pre
                

                万一发生错误

                尝试卸载并重新安装:

                sudo gem uninstall cocoapods
                sudo gem install cocoapods
                

                更新 CocoaPods 后运行

                sudo gem clean cocoapods
                

                更新 CocoaPods 后,还需要更新项目中的 Podfile.lock 文件。

                进入你的项目目录

                pod install
                

                【讨论】:

                  【解决方案12】:

                  以上都没有解决我的问题,你可以使用两个命令检查 pod 版本:

                  1. pod --version
                  2. gem which cocoapods

                  在我的情况下,pod --version 总是显示“1.5.0”,而 gem which cocopods 显示 Library/Ruby/Gems/2.3.0/gems/cocoapods-1.9.0/lib/cocoapods.rb。我尝试了所有方法,但无法更新 pod --version 显示的版本。 sudo gem install cocopods 导致安装最新版本,但 pod --version 始终显示以前的版本。最后我尝试了这些命令:

                  1. sudo gem update
                  2. sudo gem uninstall cocoapods
                  3. sudo gem install cocoapods
                  4. pod setup``pod install

                  对我来说最重要的是 sudo gem update。希望它能对其他人有所帮助。

                  【讨论】:

                  • 这个答案对我有帮助,但如果你有 RVM,请不要使用 sudo
                  【解决方案13】:

                  参考此链接https://guides.cocoapods.org/using/getting-started.html

                  brew install cocoapods
                  
                  brew upgrade cocoapods
                  
                  brew link cocoapods
                  

                  【讨论】:

                    【解决方案14】:

                    通过 Gemfile 使用 CocoaPods

                    使用 Gemfile 设置,您可以运行 bundle install 进行安装,或者运行 bundle update 在 Gemfile 的约束范围内进行更新。但是,从这里开始,您需要记住在通过捆绑程序进入的任何终端命令之前运行bundle exec。鉴于 CocoaPods 包含在上述内容中,这意味着您在任何时候写 pod XX YY 时都需要写 bundle exec pod XX YY

                    在没有bundle exec 的情况下执行此操作将绕过您的 Gemfile 的特定版本控制,并将使用 RubyGems 中最新版本的库。这可能是完全相同的版本,但通常不是。如果您包含 CocoaPods 插件,那么它们也可能不会运行。

                    这意味着您可以确保项目的基础工具就像您的个人库一样进行版本控制。

                    【讨论】:

                      【解决方案15】:

                      在尝试了上述所有步骤后,没有任何效果,我运行了bundle update,这似乎对我有用。

                      【讨论】:

                        【解决方案16】:

                        在你的终端上写下: sudo gem install cocoapods --pre

                        用于将 cocoapods 的 gem 更新到最新版本

                        【讨论】:

                          【解决方案17】:

                          我不得不这样做,在 macOS 上卡在 1.9.1

                          sudo gem install -n /usr/local/bin cocoapods

                          【讨论】:

                          • 这个“实际上”有帮助!谢谢。 :) +1
                          • 不管我尝试了什么,包括这里的其他一些建议,这是唯一对我有用的。在我的具体情况下,我使用的是 Big Sur 11.6 并坚持使用 Cocoapods 10.1。
                          【解决方案18】:

                          非常简单的解决方案

                          //MARK: -Latest stable version:
                          sudo gem install cocoapods --pre 
                          
                          //MARK: -If not work then
                          sudo gem install cocoapods --pre -n /usr/local/bin
                          
                          //MARK: - if upper command not works you can use below mention command as well!
                          brew install cocoapods
                          
                          brew upgrade cocoapods
                          
                          brew link cocoapods
                          

                          【讨论】:

                            【解决方案19】:

                            pod versiongem which cocoapods 总是返回不同的版本时,我在我的项目中遇到了问题。

                            我所要做的就是在我的项目中删除 Gemfile.lock 并再次捆绑安装。它删除了锁定的 cocoapods 版本并安装了一个更新的版本。

                            希望对这里的人有所帮助。

                            【讨论】:

                            • 谢谢,这适用于 cocoapods-1.11.2
                            【解决方案20】:

                            在我的 M1 Mac 上,我为 Silicon/Arm64 端安装了单独版本的 Homebrew。

                            brew upgrade cocoapods 默认为 homebrew 的 Rosetta 安装。我一直在运行它,但不知道为什么 cocoapods 没有更新。所以我不得不以 M1 而非 Rosetta 的方式运行它。

                            我之前将 Arm brew 别名为 mbrew。所以我不得不跑mbrew upgrade cocoapods

                            【讨论】:

                              【解决方案21】:

                              如果这样

                              sudo gem install cocoapods
                              

                              给你这个错误:

                              Could not find a valid gem 'cocoapods' (>= 0) in any repository
                              

                              试试这个:

                              sudo gem install cocoapods --source http://rubygems.org
                              

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 1970-01-01
                                • 2017-10-29
                                • 2021-12-20
                                • 1970-01-01
                                • 1970-01-01
                                • 2019-08-12
                                • 1970-01-01
                                相关资源
                                最近更新 更多