MAC新機,配置Ruby環境,安裝CocoaPods
一.配置Ruby環境
1.檢查Ruby版本
$ ruby -v
Terminal輸出:
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
2.安裝ruby升級需要的RVM環境
1.安裝RVM
a.
$ curl -L get.rvm.io | bash -s stable
b.
$ source ~/.bashrc
c.
$ source ~/.bash_profile
安裝過程需要幾分鐘,終端打印略。
2.打印完成后,查看安裝是否成功。
$ rvm -v
安裝成功
rvm 1.29.0 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]
3.升級Ruby環境
1.查看Ruby版本
$ rvm list known
Terminal打印
admindeMac-mini:~ admin$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.6]
[ruby-]2.3[.3]
[ruby-]2.4[.0]
ruby-head
2.升級ruby環境
$ rvm install 2.3.0
安裝完成后檢查Ruby版本.
4.Ruby軟件源設置
1.查看Ruby的軟件源
gem sources -l #
2.移除Ruby源
gem sources --remove https://rubygems.org/ #
3.設置Ruby鏡像源
gem sources -a https://ruby.taobao.org/ #
4.檢查當前Ruby源
gem sources -l #
Terminal輸出:
*** CURRENT SOURCES ***
https://ruby.taobao.org/
Ruby軟件源設置完畢。
二. 設置gem為最新版本
在Terminal輸入以下命令:
sudo gem update --system
這個時候可能會出現安裝失敗
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
解決方法:
sudo gem install -n /usr/local/bin cocoapods
升級成功后會提示:
Latest version currently installed. Aborting.
三.安裝CocoaPods
注意:OS X 10.11 升級,cocoapods需要重新安裝,但按照以前的安裝方式,在Terminal輸入以下命令:
sudo gem install cocoapods
如果報以下錯誤:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
解決方案1:
a.執行下面的命令并重啟
sudo nvram boot-args="rootless=0"
sudo reboot
b.重啟之后, 執行這個命令檢查
sudo gem install cocoapods -V
c.如果依舊有錯誤,使用第二個方案
解決方案2:
sudo gem install -n /usr/local/bin cocoapods
pod setup
安裝成功后,你會看到:Setup completed
查看pod版本
$ pod --version
1.2.0
四.關于 Podfile.lock文件
當執行pod install后,除了 Podfile 外,CocoaPods 還會生成一個名為Podfile.lock的文件,Podfile.lock 應該加入到版本控制里面,不應該把這個文件加入到.gitignore中。因為Podfile.lock會鎖定當前各依賴庫的版本,之后如果多次執行pod install 不會更改版本,要pod update才會改Podfile.lock了。這樣多人協作的時候,可以防止第三方庫升級時造成大家各自的第三方庫版本不一致。