在項目中要適配iOS10
,要使用cocoapods
更新第三方庫,而目前使用的ruby
版本是Mac
系統自帶的1.8.7
。git
因此須要對ruby
進行升級。這裏使用rvm
對ruby
進行升級,升級過程以下:github
一、安裝 rvmapi
rvm:Ruby Version Manager
,Ruby
版本管理器,包括Ruby
的版本管理和Gem
庫管理(gemset
)。ruby
curl -L get.rvm.io | bash -s stable
複製代碼
等待一段時間後就能夠成功安裝好rvm
。bash
source ~/.bashrc
source ~/.bash_profile
複製代碼
測試是否安裝正常curl
rvm -v
複製代碼
二、用rvm
升級ruby
測試
查看當前ruby
版本ui
ruby -v
ruby 2.3
複製代碼
列出已知的ruby
版本google
rvm list known
複製代碼
三、安裝ruby 2.3
url
rvm install 2.3
複製代碼
安裝完成以後ruby -v
查看是否安裝成功。
下面總結一下,更新ruby
遇到的問題:
問題一:
意思就是你要安裝cocoapods
,你的ruby
環境版本必須大於等於2.2.2
。
因而,我輸入了gem --version
,結果出來的版本號是2.6.0
,這明明大於2.2.2
,怎麼還提示版本過低呢。結果一查才知道rvm
是用來管理ruby
的,ruby
的其中一個「程序」叫rubygems
,簡稱gem
,而用來管理項目的gem
的,叫bundle
。徹底是不一樣的東西,他們相同的只是均可以管理gem
,因此說不能用這個。
輸入rvm list
,ruby
的版本好像是1.9.8
,看來是cocoapods
沒騙我。接下來的工做就是升級cocoapods
了。
解決方法:
卸載home-brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
複製代碼
而後,在執行
rvm install 2.3
複製代碼
這樣ruby
就升級好了。 而後,cocoapods
就能夠正常安裝了。
sudo gem install cocoapods
複製代碼
問題二:
在執行rvm install 2.3
的時候,報下面這個錯誤。
升級安裝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
複製代碼
問題三:
打開/Users/zzh/.rvm/log/1470726877_ruby-2.3.0/package_install_automake.log
文件,發現是automake
和autoconf
雖然安裝了,可是沒有連接上。
解決方法:
因而google了下,獲得下面的結果,須要安裝rvm額外的文件。
rvm get head
複製代碼
真是一步一個坑啊,須要檢測rvm
運行的環境。
rvm requirements
複製代碼