💖由来,由于各种gem升级,ruby升级,系统升级,etc..如果你是新买的mac,按照老版的cocoapods安装方式来安装cocoapods已经不再奏效,以下我将会把深夜两小时的实验过程所得到的东西用最直接,简洁的描述来展示最新的cocoapods安装过程.
<一>说明:
1️⃣新买的mac中是自带有RVM管理器,简单一点说,ruby的升级就是由他来管理的,他就是ruby的管家,所以如果能够成功的安装升级到适合的版本并运行,那么在接下来成功安装适合的ruby版本并为最后对cocoapods的安装工作,将会是事半功倍的事情.
2️⃣如果想对以下叙述增加更多理解,请先区分理解下即将给出的几个名词:
1.0 Gem : Gem是管理Ruby库和程序的标准包;
2.0 Ruby : 一种简单快捷的面向对象(面向对象程序设计)脚本语言,你猜的没错,cocoapods就是基于这个语言完成的;
3.0 Cocoapods : (请点击Esc或点击关闭按钮退出~);
<二>过程:
1.0 按照传统的安装方式,我们先给ruby换一下源,进行如下操作,将其换成新的taobao的源:
gem sources -l
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org
2.0 先来看一下如果立马执行安装cocoapods会有什么样的反应:
看一下ERROR,简单点说:安装cocoapods要求你的Ruby版本必须大于等于2.2.2(Error installing cocoa pods:active support requires version >= 2.2.2.)
3.0 一开始,我认为可能是gem版本过低,是需要其进行升级了,然后我执行一下指令对其进行升级(请注意:这里是对gem的升级),并得到结果:
sudo gem update --system
一些细节显示:
4.0 再试一次安装:
(掀桌)这不科学!为什么不可以呢,怎么回事?用一下指令查看下当前的Ruby版本:
sudo ruby -v
结果,版本并没有发生改变.还是2.0.0
5.0 回顾刚才的所进行的步骤,我们更换了Ruby源,然后又重新更新升级了gem,然而最终还是没有任何改变,还有什么使我们可以尝试却还没做的呢?Ruby语言之所以还是2.0.0系列,是不是还需要单独对它做一些升级尝试换成 >=2.2.2 版本的呢?
执行指令查看可供选择的Ruby版本:
sudo rvm list known
获取结果详情如下示:
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head]
# security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.5]
[ruby-]2.3[.1]
[ruby-]2.3-head
ruby-head
# for forks use: rvm install ruby-head---url https://github.com/github/ruby.git --branch 2.2
# JRuby
jruby-1.6[.8]
jruby-1.7[.26]
jruby[-9.1.5.0]
jruby-head
# Rubinius
rbx-1[.4.3]
rbx-2.3[.0]
rbx-2.4[.1]
rbx-2[.5.8]
rbx[-3.60]
rbx-head
# Opal
opal
# Minimalistic ruby implementation - ISO 30170:2012
mruby[-head]
# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]
# GoRuby
goruby
# Topaz
topaz
# MagLev
maglev[-head]
maglev-1.0.0
# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head
# IronRuby
ironruby[-1.1.3]
ironruby-head
BrucedeMacBook-Pro:~ brucejiang$ rvm remove 2.0.0
RVM version 1.27.0 (master) is installed yet 1.27.0 (latest) is loaded.
Please do one of the following:
* 'rvm reload'
* open a new shell
* 'echo rvm_auto_reload_flag=1 >> ~/.rvmrc' # for auto reload with msg.
* 'echo rvm_auto_reload_flag=2 >> ~/.rvmrc' # for silent auto reload.
重点看一下 "MRI Rubies" 这一部分即可,指示就是当前RVM管家所能管理到的Ruby的版本号数组,但是这里面所有 >= 2.2.2版本的东西其实都是不适合安装的,会报一些不适合当前OS系统或者其他文件缺失错误.
所以我需要找到管理有2.2开头,可以匹配2.2.2版本的RVM管家,即直接升级安装到2.2.2版本即可:通过搜索得到一个RVM baby 比较稳定的版本.
通过指令安装:
curl -L get.rvm.io | bash -s stable
在完成RVM的更新之后,请执行以下指令使其执行:
source ~/.bashrc
source ~/.bash_profile
输入指令检查RVM版本:
rvm -v
6.0 接下来,继续执行安装Ruby2.2.2,然而继续出现:
看来,照此确实需要 do one of the following.其实,如果这里除了问题,你可以理解为RVM的安装虽然成功,但是是有纰漏的,而这个纰漏引起了一些冲突或者找不到的问题:
1️⃣在这里有两种解决方法,跟着他给的提示,执行下面的指令,重装并检查版本:
rvm reload
rvm -v
这样就可以说明,RVM安装准确.
2️⃣通过使用Homebrew来提供对RVM准确的安装的保证(这里可参见网站来详细认知下Homebrew:Home-brew)执行指令:
brew doctor
brew update
接下来会出现一个更新下载的进度条,需要些时间下载升级完成Homedrew.然后,回到终端重新升级Ruby
rvm install 2.2.2
最后,重新索取下当前Ruby版本,如果显示 ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14] 即成功!
<三>下载安装cocoapods:
可参见[CocoaPods安装与使用]......