【问题标题】:CocoaPods not working in macOS High SierraCocoaPods 在 macOS High Sierra 中不起作用
【发布时间】:2017-11-07 20:05:04
【问题描述】:

升级到 macOS High Sierra 后,CocoaPods 无法正常工作。虽然离开 CocoaPods 很诱人,但不幸的是,它现在不在范围内。错误信息如下。

zsh: /Users/****/.gems/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory

我意识到错误源于 Ruby 正在升级,但有什么简单的修复方法?试图让 CocoaPods 使用新的 ruby​​ 版本会产生其他错误。

编辑:现在我用rvm install 2.0.0rvm use 2.0.0 安装了Ruby 2.0,然后重新安装了CocoaPods sudo gem install cocoapods。似乎现在可以工作了。

【问题讨论】:

  • 您是否更新了命令行工具?
  • @matt 是的,sudo xcode-select -s /Applications/Xcode-beta.appsudo xcode-select --install 并从那里跟随 GUI。
  • 我想到了这里的那些:developer.apple.com/download/more 我经常发现外部工具在我安装之前不起作用。

标签: ruby cocoapods macos-high-sierra


【解决方案1】:

根据https://github.com/CocoaPods/CocoaPods/issues/6778 重新安装CocoaPods 应该可以解决这个问题:

sudo gem install cocoapods

【讨论】:

  • 一个简单的“brew reinstall cocoapods”工作(因为它为你运行这个确切的命令)。感谢您指出这一点。
  • 虽然这可行,但它肯定是 CocoaPods 的问题,因为它无法找到更新的 Ruby 版本。可能重新安装它只是再次检查安装并因此“修复”它。
  • gem install cocoapods - 没有将 nil 隐式转换为字符串错误,但“brew reinstall cocoapods”完成了这项工作。谢谢@Markus
  • gem install -n /usr/local/bin cocoapods 帮助我
  • 自从我更新到 10.13 操作系统,提供sudo gem install cocoapods 再次 & 它的工作。
【解决方案2】:

这对我有用,虽然我必须这样做

sudo gem install cocoapods

【讨论】:

    【解决方案3】:

    所以我在更新到 High Sierra 后也遇​​到了这个问题,似乎 ruby​​ 框架正在访问的文件位置发生了一些变化。

    你可以用,解决它,

    sudo gem install cocoapods
    

    然后更新 pod 以确保安全

    pod repo update 
    

    最后

    pod install
    

    让 pod 文件再次工作。

    希望对你有所帮助:)

    【讨论】:

      【解决方案4】:

      当我在做同样的事情时,我得到了另一个错误,说

      错误:执行 gem 时 ... (Gem::FilePermissionError) 您没有 /Library/Ruby/Gems/2.3.0 目录的写入权限。

      然后我做了这个并且工作正常。

      sudo gem uninstall cocoapods
      
      sudo gem install cocoapods
      

      【讨论】:

        【解决方案5】:

        尝试使用

        sudo gem update --system
        

        之前

        sudo gem install cocoapods
        

        这对我有用

        【讨论】:

          【解决方案6】:

          我在安装 CocoaPods 时遇到了这个错误

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

          我使用了这个说法。成功了!

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

          【讨论】:

          • 这是唯一对我有用的解决方案。谢谢
          【解决方案7】:

          升级到 macOS High Sierra 后,使用以下命令修复它:

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

          一旦完成,然后编写以下命令:

          pod install
          

          这个解决方案对我有用...!!!

          【讨论】:

          • 我收到“错误:执行 gem 时 ... (Errno::EPERM) 不允许操作 @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ gem”在运行第一个命令时,但运行第二个仍然使“pod install”工作。谢谢。
          • 尽管有“警告”,我还是要在这里说声谢谢。这是唯一对我有用的东西。在我完成这两个步骤之前,只需重新安装 cocoapods(几次)没有任何区别。所以 - 谢谢!
          • 我必须通过以下命令运行 ruby​​ 更新:sudo gem update -n /usr/local/bin --system
          • 为我工作(cocoapods 1.5.3)。
          • 在尝试了数百种其他提议的解决方案并花费数小时后,这个终于奏效了。我现在可以肯定地说我爱你,就像我讨厌 Apple/Mac 开发环境一样!谢谢。
          【解决方案8】:

          这对我有用:

          brew link --overwrite cocoapods
          

          【讨论】:

            【解决方案9】:

            对我来说,我必须:

            gem uninstall cocoapods
            which pod
            

            它仍然显示在路径中,所以我删除了它。确保它仍然没有出现。

            然后

            gem install cocoapods
            

            【讨论】:

            • 终于!在安装 cocoapods 之前删除旧的 pod 可执行文件对我有用
            【解决方案10】:

            这解决了我的问题:

            $ brew install ruby
            $ gem install -n /usr/local/bin cocoapods
            

            【讨论】:

            • 请简要说明发布的代码的作用,以便对这项技术不熟悉的人能够理解并重新使用您的答案:-)
            • cocoapods 新手应该知道如何像其他人一样阅读。
            • @MathieuVIALES,“brew install ruby​​”假设您已经拥有 Homebrew 打包程序 (brew.sh)。然后安装该命令(或者可能在技术上重新安装 ruby​​,因为您实际上需要 ruby​​ 来安装 Homebrew 本身)。下一行“gem install -n /usr/local/bin cocoapods”重新安装 CocoaPod 程序(更多信息请参见 cocoapods.org)。
            【解决方案11】:

            我在安装High Sierra后也遇到了这个错误。

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

            我使用了 Danh Huynh 确定的以下语句(见上文),它奏效了!

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

            【讨论】:

            【解决方案12】:

            转到终端...

            步骤 1)。 sudo gem 安装 cocoapods

            安装可可豆荚完成后

            步骤 2)。 pod repo 更新

            完成

            【讨论】:

              【解决方案13】:

              遇到了同样的问题,解决方法:

              1. 重新安装红宝石

                brew install ruby

              2. 重新安装 Cocoa Pods

                sudo gem install cocoapods

              【讨论】:

                【解决方案14】:

                这是升级到 Mac OSX High Sierra 时的常见问题。

                修复只是简单地安装 Cocoapods(再次):

                sudo gem install cocoapods
                

                【讨论】:

                  【解决方案15】:

                  只需运行以下命令:

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

                  【讨论】:

                    【解决方案16】:

                    MacOS High Sierra 默认使用 ruby​​ 2.3。升级到它后,一些旧的红宝石宝石可能无法正常工作。当我运行 bundle 命令时,我遇到了这个问题(bundle 是一个 ruby​​ gem;它有一个名为 bundle 的实用程序)。

                    因此,澄清一下,任何试图访问 ruby​​ 2.0 的旧 ruby​​ gem(cocoapods、bundler 等)都会失败。

                    解决方案是在您有权写入的目录中重新安装那些旧的 gem。

                    对于可可足类,

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

                    会成功的。

                    如果您喜欢 before 安装,您可以选择升级您的 gem 系统:

                    sudo gem update --system

                    这可能会提示您升级失败。但实际上,如果你输入:

                    gem --version

                    可以看到升级成功了。

                    对于 bundler 或其他 gem,尝试做同样的事情:

                    sudo gem install gem-to-install(for example, bundler) -n /usr/local/bin

                    关于-n 选项。不要错过。如果需要,您可以查看 gem 文档。

                    所以,解决方案就是将reinstalling the old gem 放到适当的目录中。

                    【讨论】:

                      【解决方案17】:

                      Cocoapods 安装过程:

                      1. sudo gem install cocoapods (如果你对 cocoapds 有任何问题,请更新 gem 文件)

                      2. sudo gem update --system

                      3. sudo gem install cocoapods

                      【讨论】:

                        【解决方案18】:

                        在终端上运行它对我有用:

                        sudo gem install cocoapods
                        

                        【讨论】:

                          【解决方案19】:

                          在终端上使用以下命令后,我可以在我的项目中安装可可豆荚。

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

                          【讨论】:

                            【解决方案20】:

                            我也遇到了这个问题,但以不那么引人注目的方式修复了它,因为各种重新安装/更新。刚刚更新了 PATH 环境变量以指出我现有的 (2.6.0) ruby​​ 版本。

                            【讨论】:

                              【解决方案21】:

                              升级到 Catalina 后我遇到了同样的问题。

                              1. 我通过首先使用这些说明安装 brew 和 ruby​​ 来更新 ruby​​ 安装。 https://gorails.com/setup/osx/10.15-catalina(但只有 ruby​​,不是 rails 等)

                              2. 然后我按照上面的说明重新安装了 cocoapods。

                                sudo gem 安装 cocoapods

                              毕竟我仍然收到上述错误。 然后我输入“zsh”来生成一个新的 shell 并在 ~/.zshrc 文件中拉入配置设置。 在这个“pod update”命令再次起作用之后。

                              【讨论】:

                                【解决方案22】:

                                Sudo-less .zhs-friendly 解决方案

                                现代 macOS 不鼓励使用 sudo 并从 bash 转向 zsh,因此如果您不打算与时尚抗争,这个答案可能会很有用。

                                1. 通过touch ~/.zshenv 命令确保.zshenv 存在。通过添加以下行来配置 RubyGems 环境:

                                  export GEM_HOME=$HOME/.gem
                                  export PATH=$GEM_HOME/bin:$PATH
                                  

                                  不要忘记重新启动终端。

                                2. 运行gem install cocoapods

                                【讨论】:

                                  【解决方案23】:
                                  If cannot install new version cocoapods, example below:
                                  1. Please remove Command line tools
                                  sudo rm -rf /Library/Developer/CommandLineTools
                                  2. Install new Command line tools version
                                  sudo xcode-select --install
                                  3. after installing run below command
                                  open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
                                  

                                  【讨论】:

                                    【解决方案24】:
                                        curl -sSL https://get.rvm.io | bash -s stable
                                        sudo update gems
                                        rvm install 2.6.0
                                        sudo gem install cocoapods
                                    

                                    【讨论】:

                                    • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助、质量更好,并且更有可能吸引投票
                                    【解决方案25】:

                                    我使用自制软件在 High Sierra (macOS 10.13.6) 上安装 cocoapods,它适用于我

                                    brew 安装 cocoapods

                                    在这个颤振的医生没有显示错误之后。

                                    我能够将我的 Flutter 应用部署到 IOS XS Max

                                    【讨论】:

                                    • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
                                    猜你喜欢
                                    • 2018-05-10
                                    • 2018-11-29
                                    • 2018-03-07
                                    • 2018-03-29
                                    • 2018-06-24
                                    • 2018-08-06
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2018-03-10
                                    相关资源
                                    最近更新 更多