在專案中要適配iOS10
,要使用cocoapods
更新第三方庫,而目前使用的ruby
版本是Mac
系統自帶的1.8.7
。
所以需要對ruby
進行升級。這裡使用rvm
對ruby
進行升級,升級過程如下:
1、安裝 rvm
rvm:Ruby Version Manager
,Ruby
版本管理器,包括Ruby
的版本管理和Gem
庫管理(gemset
)。
curl -L get.rvm.io | bash -s stable
複製程式碼
等待一段時間後就可以成功安裝好rvm
。
source ~/.bashrc
source ~/.bash_profile
複製程式碼
測試是否安裝正常
rvm -v
複製程式碼
2、用rvm
升級ruby
檢視當前ruby
版本
ruby -v
ruby 2.3
複製程式碼
列出已知的ruby
版本
rvm list known
複製程式碼
3、安裝ruby 2.3
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
複製程式碼