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了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。