Mac上更新Ruby

在项目中要适配iOS10,要使用cocoapods更新第三方库,而目前使用的ruby版本是Mac系统自带的1.8.7git

因此须要对ruby进行升级。这里使用rvmruby进行升级,升级过程以下:github

一、安装 rvmapi

rvm:Ruby Version ManagerRuby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)。ruby

curl -L get.rvm.io | bash -s stable  
复制代码

等待一段时间后就能够成功安装好rvmbash

source ~/.bashrc  
source ~/.bash_profile  
复制代码

测试是否安装正常curl

rvm -v  
复制代码

Paste_Image.png

二、用rvm升级ruby测试

Paste_Image.png

查看当前ruby版本ui

ruby -v  
ruby 2.3 
复制代码

列出已知的ruby版本google

rvm list known  
复制代码

三、安装ruby 2.3url

rvm install 2.3
复制代码

安装完成以后ruby -v查看是否安装成功。

下面总结一下,更新ruby遇到的问题:

问题一:

Paste_Image.png

意思就是你要安装cocoapods,你的ruby 环境版本必须大于等于2.2.2

因而,我输入了gem --version,结果出来的版本号是2.6.0,这明明大于2.2.2,怎么还提示版本过低呢。结果一查才知道rvm是用来管理ruby的,ruby的其中一个“程序”叫rubygems,简称gem,而用来管理项目的gem的,叫bundle。彻底是不一样的东西,他们相同的只是均可以管理gem,因此说不能用这个。

输入rvm listruby的版本好像是1.9.8,看来是cocoapods没骗我。接下来的工做就是升级cocoapods了。

解决方法:

卸载home-brew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
复制代码

Paste_Image.png

而后,在执行

rvm install 2.3
复制代码

这样ruby就升级好了。 而后,cocoapods就能够正常安装了。

sudo gem install cocoapods
复制代码

问题二:

在执行rvm install 2.3的时候,报下面这个错误。

15C1C2DF7FBC53F7E45BE9C348E1DC31.jpg
解决问题:

升级安装openssl

首先,来看看咱们的openssl的版本和目录

openssl version
OpenSSL 0.9.8zh 14 Jan 2016

which openssl
/usr/local/bin/openssl
复制代码

经过上面的查看,明显咱们的版本号过低了,因而google了下,获得下面的结果。 首先更新homebrew

brew update
Updated Homebrew from e3986e9 to 21ce7a5.
==> Migrating Homebrew to v0.9.9
...
复制代码

看到这个信息,就是成功的在更新了,这个过程可能比较久点。更新完以后,咱们开始经过homebrew安装openssl

$ brew install openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2h.el_capitan.b
######################################################################## 100.0%
...
==> Summary
🍺  /usr/local/Cellar/openssl/1.0.2h: 1,691 files, 12M
复制代码

当最后显示🍺那个标志,说明咱们成功的将openssl安装到/usr/local/Cellar/openssl/1.0.2h。 不过,咱们还有最后一步,那就是当咱们使用openssl时,使用的是咱们用homebrew新下载的openssl。 直接将openssl软连接到/usr/local/bin/openssl

#若是/usr/local/bin/openssl下存在,则先删除 /usr/local/bin/openssl
$ rm /usr/local/bin/openssl
#将之前经过homebrew下载的1.0.2e版本的openssl连接到/usr/local/bin/openssl
$ ln -s /usr/local/Cellar/openssl/1.0.2e/bin/openssl /usr/local/bin/openssl
$ openssl 
OpenSSL 1.0.2e 3 Dec 2015
复制代码

问题三:

19851124-DE38-44A5-9948-6F3F4615FE55.png

打开/Users/zzh/.rvm/log/1470726877_ruby-2.3.0/package_install_automake.log文件,发现是automakeautoconf虽然安装了,可是没有连接上。

解决方法:

因而google了下,获得下面的结果,须要安装rvm额外的文件。

rvm get head
复制代码

Paste_Image.png

真是一步一个坑啊,须要检测rvm运行的环境。

rvm requirements
复制代码
相关文章
相关标签/搜索