RVM、RuBy的安装配置以及CocoaPods安装和使用

本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。

系统需求

首先确定操作系统环境,不建议在 Windows 上面搞,所以你需要用:

  • Mac OS X 

以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号)


 

步骤1 - 安装 RVM (ruby version manger ruby 版本管理)

RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白。

    $ \curl -L https://get.rvm.io | bash -s stable --ruby

期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。

然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)

    $ source ~/.rvm/scripts/rvm

检查一下是否安装正确

    $ rvm -v
如果出现跟下面类似的字符,则表明安装正确     rvm 1.22.17 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

步骤2 - 用 RVM 安装 Ruby 环境

  

列出已知的ruby版本

   $ rvm list known

 

可以选择现有的rvm版本来进行安装(you just want the latest (current) version)

 

    $rvm install current && rvm use current
同样继续等待漫长的下载,编译过程,完成以后,Ruby, Ruby Gems 就安装好了。

另附:

查询已经安装的ruby

  $ rvm list

卸载一个已安装版本 

      $ rvm remove 2.0.0


步骤3 - 设置 Ruby 版本

这个时候你可以测试是否正确

    $ ruby -v
    ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]

    $ gem -v
    2.1.6

这有可能是因为Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成ruby-china的,替换方式如下:

1.移除现有Ruby默认源

$gem sources --remove https://rubygems.org/

2.使用新的源

$gem sources -a https://gems.ruby-china.org/

3.验证新源是否替换成功

$gem sources -l  (这是L)

正常的输出结果:

      CURRENT SOURCES            

      https://gems.ruby-china.org          

到这里就已经把Ruby环境成功的安装到了Mac OS X上,接下来就可以进行相应的开发使用了。

 


接下来就是CocoaPods的安装

一、什么是CocoaPods

CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。
在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
1.把开源库的源代码复制到项目中
2.添加一些依赖框架和动态库
3.设置-ObjC,-fno-objc-arc等参数
4.管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install.Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。

二、CocoaPods的原理

CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。


 

1.移除现有Ruby默认源

$gem sources --remove https://rubygems.org/

2.使用新的源

$gem sources -a https://gems.ruby-china.org/

3.验证新源是否替换成功

$gem sources -l

1、安装

CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。幸运的是OS X系统默认的已经可以运行Ruby了,因此我们只需要执行以下命令:

(1)$sudo gem install cocoapods 备注:苹果系统升级 OS X EL Capitan 后改为$sudo gem install -n /usr/local/bin cocoapods

(2) $pod setup

如果没有报错,就说明一切安装就成功了!

Terminal会停留在 Setting up CocoaPods master repo 这个状态一段时间,是因为要进行下载安装,而且目录比较大,需要耐心等待一下.如果想加快速度,可使用cocoapods的镜像索引.(文章末尾附使用镜像索引的方法)

//这里详细说明,第一次安装cocoa pods,使用pod install,pod search,等指令会自动进入pod setup这一步

 

  然后出现      Setting up CocoaPods master repo      

 

  (这一行字可能会持续很久,因为在下载个文件(340M左右),下载进度根据网络状态决定,另外有个办法可

 

  以查看下载进度----  

 

   cd ~/.cocoapods/       (这就是进入cocoa pods文件夹的代码)

 

   du -sh *                         (查看大小,最终大小340M左右)


安装成功后,你会看到:

 

速度有些慢,耐心等待~~

一切顺利的话会出现一行绿色的字 setup completed 这就代表彻底装好了,如果出现这组代码

1.可能你网络中途断了,跟vpn没多大关系,国内网能下载,只是延迟高速度低点罢了 2.没按步骤来,乱改了东西造成很多未知错误,很难查到答案

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'... error: RPC failed; curl 56 SSLRead() return error -36 fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed

-------就依次执行下面的步骤

sudo rm -fr ~/.cocoapods/repos/master (这一句执行完后重新打开控制台)

rm -fr ~/Library/Caches/CocoaPods

sudo gem update --system

sudo gem update

sudo gem cleanup

pod setup


三、使用CocoaPods

如果之前做的一切顺利,接下来就可以体验体验CocoaPods的神奇之处了,需要经过以下几步:

为了演示这个过程,我创建了一个名为CocoaPodsTest的工程。

1、创建Podfile

CocoaPods的一切都是从一个名为Podfile的文件开始的,我们需要先创建这个文件。个人习惯使用命令行,我会这样做:

  1. $ cd /Users/wangzz/Desktop/CocoaPodsTest  
  2. $pod search 第三方
  3. $ touch Podfile 
  4. 首先进入到工程的根目录下,创建空白的Podfile文件,创建完毕的目录结构如下图:

     

2、编辑Podfile

根据需要,我们可以在Podfile文件中写入需要用到的第三方库,以SBJson、AFNetworking、Reachability三个库为例,我的Podfile内容如下:

 

$vim Podfile

写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq  可保存退出)

  1. platform :ios, '7.0'  
  2.    pod  'AFNetworking',  '~> 2.0'  
  3.    pod  'SBJson',  '~> 4.0.0'
  4. end

.导入第三方库

$pod install

 

再来看看工程根目录发生的变化,如下图:

 

可以看到,工程的根目录下多了三个东西:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目录。

(PS:篇幅有限,Podfile.lock文件会放到系列文章的下一篇介绍,敬请关注。)

 

再看看刚才执行完pod install命令打印出来的内容的最后一行:

    1. [!] From now on use `CocoaPodsTest.xcworkspace`.

提示我们从现在起,我们需要使用CocoaPodsTest.xcworkspace文件来开发。

 

对于工程发生的变化,有几点需要说明:

 

  • 第三方库会被编译成静态库供我们正真的工程使用

 

CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。整个第三方库工程会生成一个名称为libPods.a的静态库提供给我们自己的CocoaPodsTest工程使用。

 

  • 我们的工程和第三方库所在的工程会由一个新生成的workspace管理

 

为了方便我们直观的管理工程和第三方库,CocoaPodsTest工程和Pods工程会被以workspace的形式组织和管理,也就是我们刚才看到的CocoaPodsTest.xcworkspace文件。

原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。

 

 

 

 

posted @ 2016-07-25 09:49  Ruby_c  阅读(1212)  评论(0编辑  收藏  举报