在OS X上安装Cocoapods El Capitan错误

Mar*_*sta 28 rubygems ios cocoapods osx-elcapitan

首先.由于iOS 9.3,我更新了El Capitan,它只支持xCode 7.3.

更新后,我发现该pod命令无法正常工作.我执行了:

sudo gem install cocoapods
ERROR:  Error installing cocoapods:
    activesupport requires Ruby version >= 2.2.2.
Run Code Online (Sandbox Code Playgroud)

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

我有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
Run Code Online (Sandbox Code Playgroud)

版本:

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/]
Run Code Online (Sandbox Code Playgroud)

.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*
Run Code Online (Sandbox Code Playgroud)

rvm list和rvm info

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:       ""
Run Code Online (Sandbox Code Playgroud)

当我试图用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.
Run Code Online (Sandbox Code Playgroud)

尝试酿造医生的结果相同:

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)
Run Code Online (Sandbox Code Playgroud)

小智 93

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

sudo gem install activesupport -v 4.2.6
sudo gem install cocoapods
Run Code Online (Sandbox Code Playgroud)

这是cocoapods错误报告,提出了这种解决方法.

  • 我仍然收到错误:安装 cocoapods 时出错:zeitwerk 需要 Ruby 版本 &gt;= 2.5。Mac 操作系统:Mojave,版本:10.1406 (2认同)

小智 5

  1. 使用此命令安装Homebrew

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

    brew install rbenv ruby-build
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  4. 安装cocoapods

    sudo gem install cocoapods
    
    Run Code Online (Sandbox Code Playgroud)


Mar*_*sta 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)
Run Code Online (Sandbox Code Playgroud)

运行brew 会导致相同的错误。所以我决定先修复brew。通过卸载并重新安装已修复。这并不容易。卸载脚本不起作用,因为我.git/usr/local.

我决定提供 .git 文件夹。

我克隆git clone https://github.com/Homebrew/homebrew.git到一些临时文件夹,然后cp -r .git /usr/local/最后.git我的brew文件夹中有文件夹/usr/local。此后我能够在 El Capitan 上卸载并安装新鲜的酿造。请查看此链接的第 2 部分。

/usr/local根据,通过工作brew和El Capitan的固定权限,我可以使用rvm安装ruby:

rvm install 2.2
rvm use 2.2
Run Code Online (Sandbox Code Playgroud)

最后为 El Capitan 安装 cocapods:

sudo gem install -n /usr/local/bin cocoapods
Run Code Online (Sandbox Code Playgroud)