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
複製代碼
相關文章
相關標籤/搜索