【问题标题】:Installing Cocoapods on OS X El Capitan error在 OS X El Capitan 上安装 Cocoapods 错误
【发布时间】:2016-04-04 12:06:43
【问题描述】:

首先。由于 iOS 9.3,我更新到 El Capitan,它仅在 xCode 7.3 中支持。

更新后我发现pod 命令不起作用。 我执行了:

sudo gem install cocoapods
ERROR:  Error installing cocoapods:
    activesupport requires Ruby version >= 2.2.2.

所以我的问题是我无法安装 cocoapods。我对宝石和红宝石一无所知。有人知道如何处理吗?

我有第二个 OS X 和 El Capitan 10.11.4,一切正常,所以我不知道这个问题是从哪里来的。

更新:2016 年 4 月 5 日

我在终端上执行了几个命令以获取更多信息:

Kapucha:~ kapucha$ which ruby
/usr/bin/ruby
Kapucha:~ kapucha$ which gem
/usr/bin/gem
Kapucha:~ kapucha$ which brew
/usr/local/bin/brew
Kapucha:~ kapucha$ which rvm
/Users/kapucha/.rvm/bin/rvm

版本:

Kapucha:~ kapucha$ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
Kapucha:~ kapucha$ gem --version
2.2.2
Kapucha:~ kapucha$ brew --version
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-15 (Errno::EACCES)
Kapucha:~ kapucha$ rvm --version
rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

.bash_profile 文件和 .profile

Kapucha:~ kapucha$ cat .bash_profile
export JAVA_HOME=$(/usr/libexec/java_home)
. ~/.bashrc
source ~/.profile

Kapucha:~ kapucha$ cat .profile
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

rvm 列表和 rvm 信息

Kapucha:local kapucha$ rvm list

rvm rubies


# No rvm rubies installed yet. Try 'rvm help install'.

Kapucha:local kapucha$ rvm info

system:

  system:
    uname:       "Darwin Kapucha.local 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64"
    system:      "osx/10.11/x86_64"
    bash:        "/bin/bash => GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)"
    zsh:         "/bin/zsh => zsh 5.0.8 (x86_64-apple-darwin15.0)"

  rvm:
    version:      "rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
    updated:      "18 hours 23 minutes 25 seconds ago"
    path:         "/Users/kapucha/.rvm"

  homes:
    gem:          "not set"
    ruby:         "not set"

  binaries:
    ruby:         "/usr/bin/ruby"
    irb:          "/usr/bin/irb"
    gem:          "/usr/bin/gem"
    rake:         "/usr/bin/rake"

  environment:
    PATH:         "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/filipkotwicki/dev/tools/android-sdk-macosx/platform-tools:~/bin:/opt/X11/bin:/usr/local/git/bin:/Users/kapucha/.rvm/bin:/Users/kapucha/.rvm/bin"
    GEM_HOME:     ""
    GEM_PATH:     ""
    MY_RUBY_HOME: ""
    IRBRC:        ""
    RUBYOPT:      ""
    gemset:       ""

当我尝试使用 rvm 安装 Ruby 时

Kapucha:local kapucha$ rvm install 2.2.2
Searching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/osx/10.11/x86_64/ruby-2.2.2.tar.bz2
Checking requirements for osx.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-15 (Errno::EACCES)
...
ERROR: '/bin' is not writable - it is required for Homebrew, try 'brew doctor' to fix it!
Requirements installation failed with status: 1.

尝试了 brew doctor ,结果相同:

Kapucha:local kapucha$ brew doctor
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-15 (Errno::EACCES)

【问题讨论】:

    标签: ios rubygems cocoapods osx-elcapitan


    【解决方案1】:

    这是一个比其他“安装自制软件/使用 rvm”建议更简单的解决方案 - 首先安装旧版本的“activesupport”(与 ruby​​ 2.0 和 cocoapods 兼容),然后安装 cocoapods。

    sudo gem install activesupport -v 4.2.6
    sudo gem install cocoapods
    

    这是建议 this 解决方法的 cocoapods 错误报告。

    【讨论】:

    • 你是救生员。唯一对我有用的解决方案。
    • 浪费了很多时间才找到这个
    • 在 ($sudo gem install cocoapods) 之后保持耐心等待一段时间:P。这需要时间。无论您的网速有多快。
    • 我仍然收到错误:安装 cocoapods 时出错:zeitwerk 需要 Ruby 版本 >= 2.5。 mac OS:Mojave,版本:10.1406
    【解决方案2】:
    1. 使用此命令安装 Homebrew

      ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      
    2. 现在我们已经安装了 Homebrew,我们可以使用它来安装 Ruby。 我们将使用 rbenv 来安装和管理我们的 Ruby 版本。 为此,请在终端中运行以下命令:

      brew install rbenv ruby-build
      
    3. 现在安装 ruby​​

      echo 'if which rbenv > /dev/null;
      
      then eval "$(rbenv init -)";
      
      fi' >> ~/.bash_profilesource ~/.bash_profile
      
      rbenv install 2.3.1
      
      rbenv global 2.3.1 
      
      ruby -v
      
    4. 安装 cocoapods

      sudo gem install cocoapods
      

    【讨论】:

      【解决方案3】:

      我终于解决了这个问题。

      目标是安装 cocoapods,但出现错误,我需要 ruby​​ >= 2.2.2。

      由于错误,安装rvm install 2.2 未完成:

      /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-15 (Errno::EACCES)
      

      运行 brew 导致同样的错误。所以我决定先修复 brew 。通过卸载并再次安装它已修复。这并不容易。卸载脚本不起作用,因为我在 /usr/local 中没有 .git 文件夹。

      我决定提供 .git 文件夹。

      我将git clone https://github.com/Homebrew/homebrew.git 克隆到某个临时文件夹,然后将cp -r .git /usr/local/ 克隆到最后我的brew 文件夹/usr/local 中有.git 文件夹。在此之后,我能够Uninstall and Install fresh brew on El Capitan。查看此链接的第 2 部分。

      根据this,在/usr/local 中使用El Capitan 的工作brew 和固定权限,我能够使用rvm 安装ruby:

      rvm install 2.2
      rvm use 2.2
      

      最后为 El Capitan 安装 cocapods:

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

      【讨论】:

        【解决方案4】:

        我使用了这个命令并且工作正常:-

        sudo gem install activesupport -v 4.2.6
         sudo gem install cocoapods
        

        【讨论】:

        • 不要发布重复的答案 - 最好对您复制的原件进行投票
        【解决方案5】:

        activesupport gem which Cocoapods depends on 需要高于 2.2.2 的 Ruby 版本(参见 here)。

        您使用的是哪个版本的 Ruby(输入 ruby --version)?也许您的第二个 OS X 系统正在使用系统 Ruby 版本(您可以通过输入 which ruby 进行检查)。

        您可能需要安装较新版本的 Ruby(例如 2.2.3)。我推荐 RVM 在您的机器上安装和管理 Ruby 版本。

        【讨论】:

        • 嗨,亚历山大。我用更多环境信息更新了我的答案。你可以在那里找到ruby --version 等等。我不确定但有趣的是,当我想检查版本时,brew 会抛出权限错误。
        • 你能把rvm list也和rvm info放在一起吗?从which ruby 可以看出,您使用的是系统版本的 Ruby,而不是 RVM 版本。
        • 我用rvm listrvm info 更新了我的问题。我试图执行rvm install 2.2.2,但我从 brew 中得到了与brew --version 相同的错误。只是当我执行这个命令brew 我得到同样的错误。
        • 非常感谢您的帮助。你为我指明了正确的方向。我添加了解决我问题的答案。这对我来说并不容易,因为我对 ruby​​、rvm 和 gems 几乎一无所知。
        • 没问题。很高兴我能帮上忙。 :)
        【解决方案6】:

        使用以下命令安装 homebrew

        /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

        然后在不使用sudo的情况下安装cocoapods

        gem install cocoapods

        【讨论】:

          【解决方案7】:

          请从this 链接安装最新版本的 Ruby 和 RVM(Ruby 版本管理器)。

          然后运行“sudo install cocoapods

          【讨论】:

            【解决方案8】:

            埃尔卡皮坦 10.11.3

            1)$ sudo gem install activesupport -v 4.2.6

            2)$ sudo gem install -n /usr/local/bin cocoapods

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-01-04
              • 1970-01-01
              • 2016-01-03
              • 1970-01-01
              • 1970-01-01
              • 2018-05-02
              • 2015-11-05
              相关资源
              最近更新 更多