在 OS X El Capitan 错误上安装 Cocoapods

Installing Cocoapods on OS X El Capitan error

首先。由于 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。我对宝石和 ruby 东西一无所知。有人知道如何处理吗?

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

更新: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)

activesupport gem 其中 Cocoapods depends on requires Ruby version greater than 2.2.2 (see here)。

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

可能您需要安装更新版本的 Ruby(例如 2.2.3)。我建议 RVM 在您的机器上安装 gem 和 Ruby 版本。

我终于解决了这个问题。

目标是安装 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。看看这个 link.

的第 2 部分

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

rvm install 2.2
rvm use 2.2

并最终为 El Capitan 安装 cocapods:

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

使用以下命令安装 homebrew

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

然后在不使用 sudo

的情况下安装 cocoapods

gem install cocoapods

  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
    

这里有一个比其他 'install homebrew/use rvm' 建议更简单的解决方案 -- 首先安装旧版本的 'activesupport'(它与 ruby 2.0 和 cocoapods 兼容)然后安装椰子。

sudo gem install activesupport -v 4.2.6
sudo gem install cocoapods

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

请从 this link.

安装最新版本的 Ruby 和 RVM(Ruby 版本管理器)

然后运行“sudo install cocoapods

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

sudo gem install activesupport -v 4.2.6
 sudo gem install cocoapods

埃尔卡皮坦 10.11.3

1)$ sudo gem 安装 activesupport -v 4.2.6

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