首先。由于 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 <[email protected]>, Michal Papis <[email protected]> [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 <[email protected]>, Michal Papis <[email protected]> [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)
这里有一个比其他“安装自制程序/使用 rvm”建议更简单的解决方案 - 首先安装旧版本的“activesupport”(与 ruby 2.0 和 cocoapods 兼容),然后安装 cocoapods。
sudo gem install activesupport -v 4.2.6
sudo gem install cocoapods
这里是 cocoapods 错误报告,建议了 this 解决方法。
使用此命令安装 Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
现在我们已经安装了 Homebrew,我们可以使用它来安装 Ruby。 我们将使用 rbenv 来安装和管理我们的 Ruby 版本。 为此,请在终端中运行以下命令:
brew install rbenv ruby-build
现在安装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
安装cocoapods
sudo gem install cocoapods
终于解决了这个问题。
目标是安装 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。通过卸载并重新安装已修复。这并不容易。卸载脚本不起作用,因为我在
.git
中没有 /usr/local
文件夹。
我决定提供 .git 文件夹。
我将
git clone https://github.com/Homebrew/homebrew.git
克隆到某个临时文件夹,然后 cp -r .git /usr/local/
所以最后我在我的 brew 文件夹中拥有 .git
文件夹 /usr/local
。此后,我能够在 El Capitan 上卸载并安装新酿造的。请查看此链接的第 2 部分。
根据
this,使用
/usr/local
中的 El Capitan 工作和固定权限,我能够使用 rvm 安装 ruby:
rvm install 2.2
rvm use 2.2
最后为 El Capitan 安装 cocapods:
sudo gem install -n /usr/local/bin cocoapods
我使用了这个命令并且工作正常:-
sudo gem install activesupport -v 4.2.6
sudo gem install cocoapods
所依赖的
activesupport
gem 需要大于 2.2.2
的 Ruby 版本(请参阅此处)。 您使用的 Ruby 版本是什么(输入
ruby --version
)?也许您的第二个 OS X 系统正在使用系统 Ruby 版本(您可以通过输入
which ruby
进行检查)。您可能需要安装较新版本的 Ruby(例如
2.2.3
)。我建议使用RVM 在您的计算机上安装和管理 Ruby 版本。
homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
cocoapods而不使用sudo
gem install cocoapods
2)$ sudo gem install -n /usr/local/bin cocoapods
brew install cocoapods
命令。它将解决所有问题。还建议做什么..