关于在Mac下安装过octopress导致的cocoapods无法使用

由于之前弄过octopress导致今天要用cocoapods时无法使用:

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:296:in `to_specs': Could not find 'cocoapods' (>= 0) among 70 total gem(s) (Gem::LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/dependency.rb:307:in `to_spec'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:47:in `gem'
from /usr/bin/pod:22:in `<main>'

因为之前用octopress的时候是需要装1.9.3的ruby,而cocoapods需要的是比较新的ruby版本,所以我们需要用rvm安装2个不同的ruby版本,然后用到那个就切换版本就好了。
最好先更新rvm到最新的版本,因为rvm是管理ruby、gem的工具。

curl -L get.rvm.io | bash -s stable --autolibs=enabled

我的显示了这样子的描述:

        # ChenShiLong,
        #
        #   Thank you for using RVM!
        #   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
        #
        # ~Wayne, Michal & team.

        In case of problems: http://rvm.io/help and https://twitter.com/rvm_io

        Upgrade Notes:

        * WARNING: You have '~/.profile' file, you might want to load it,
to do that add the following line to '/Users/MrChen/.bash_profile':

  source ~/.profile

        * No new notes to display.

根据描述输入/Users/MrChen/.bash_profil.profile文件中。
然后输入rvm -v会显示下面的内容:

 rvm -v

RVM version 1.26.11 (latest) is installed yet 1.26.10 (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.

根据提示我输入rvm reload
显示是RVM reloaded!
最后输入rvm -v
显示为:rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
rvm get head
rvm reload
rvm -v

根据别人的blog,现在应该就能显示最新的版本:

rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

然后查看当前ruby版本:

ruby -v

显示为:

ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin14.1.0]

查看ruby的列表:rvm list
显示为:

rvm rubies

=* ruby-1.9.3-p0 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

发现只有1.9.3版的,再安装一个2.1.1的:

rvm install ryby-2.1.3

如果发现很慢或者失败什么的试试下面的方法:

  • 被墙的原因 使用下面的代码:

    //查看当前的源
    gem sources -l
    //删除官方的源
    gem sources --remove https://rubygems.org/
    //添加淘宝的源
    gem sources -a https://ruby.taobao.org/
    

显示的结果为:

*** CURRENT SOURCES ***

https://ruby.taobao.org/

就可以了。这时候再执行:rvm install ruby-2.1.3这是参考网站

  • 提示.git文件夹被占用,可以用下面的命令解决
rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

如果顺利的安装完成,(如果不能顺利那最好翻墙吧)键入rvm list就可以看到2个版本已经安装好;

rvm rubies

* ruby-1.9.3-p0 [ x86_64 ]
=> ruby-2.1.3 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

然后用2.1.3重新安装下cocoapods,通过键入rvm use 2.1.3,显示如下内容。

Using /Users/MrChen/.rvm/gems/ruby-2.1.3

再键入如下内容:

gem install cocoapods

这之后可能会等很久,也可能会很快。以前安装的时候等了快2个小时,今天用了不到3分钟。(可能是因为翻墙的原因吧!!!)
成功之后键入:

gem which cocoapods

然后会显示如下内容:

/Users/MrChen/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.1/lib/cocoapods.rb

这时候可以试试pod search json看看有没有结果,有的话就说明成功了。
关于pod的使用可以看下我另外一篇文章

参考的资料:
Mac下安装过octopress导致ruby版本不对,cocoapods无法使用的解决方法
CocoaPods Getting Started

Zerlz wechat
扫码关注一个很懒的程序员!
Winter is coming, give me a penny!