安装CocoaPots的顺序:Xcode -> Homebrew -> RVM -> Ruby -> CocoaPots;
安装前准备:
- 一般系统curl的postBuffer默认值太小,安装过程中会报如下错误:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
先终端运行命令,加大postBuffer:
$ Git config --global http.postBuffer 524288000
附:
- 如下命令可以查看postBuffer空间大小:
$ git config --list
- raw.githubusercontent.com有时连不上,进入系统hosts文件修改配置。(进入方法请参考《mac安装hombrew报错》)
在hosts文件中添加如下两行:
151.101.76.133 raw.githubusercontent.com
13.229.188.59 github.com
第一步:安装Homebrew
- 终端运行命令(获取最新命令:《Homebrew》),开始安装:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
安装完成提示:
==> Installation successful!
附:
- 卸载Homebrew:
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
第二步:安装RVM
- 终端运行命令:(参考:《Ruby Version Manager (RVM)》第二个命令)
$ \curl -sSL https://get.rvm.io | bash -s stable
期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好RVM。
安装完成提示:
Thank you for using RVM!
- 终端运行命令,载入 RVM 环境:
$ source ~/.rvm/scripts/rvm
- 终端运行命令,验证是否安装正确:
$ rvm -v
如显示以下信息:
RVM version 1.29.9 (latest) is installed, yet version 1.29.10 (1.29.10) is loaded.
Please open a new shell or run one of the following commands:
rvm reload
echo rvm_auto_reload_flag=1 >> ~/.rvmrc # OR for auto reload with msg
echo rvm_auto_reload_flag=2 >> ~/.rvmrc # OR for silent auto reload
则依次使用命令升级,然后再次执行上一步验证,终端运行:
$ rvm reload
$ rvm get 1.29.10
附:《rvm安装与一些命令》
如出现下方类似结果,则表示安装正确:
rvm 1.29.1 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]
第三步:用RVM安装Ruby环境
- 终端运行命令,列出已知ruby版本:
$ rvm list known
- 终端运行命令,安装ruby:(2.4.0为列出的版本中最下方一个)
$ rvm install 2.4.0
可能需要管理员权限,使用:
$ sudo rvm install 2.4.0
如若报如下错误:
Error running '__rvm_make install',
please read /Users/UserName/.rvm/log/1507886631_ruby-2.4.1/install.log
There has been an error while running make install. Halting the installation.
则先卸载刚才未安装成功的Ruby,然后终端运行:
$ xcode-select --install
如若报如下错误:
Error: Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
给当前用户添加目录权限,终端运行:
$ sudo chown -R $(用户名) /usr/local
参考文章:《homebrew 无法安装提示不能在根目录下使用》
安装软件,然后再重新执行步骤2安装。
安装完成提示:
Install of ruby-2.4.0 - #complete
- 终端运行命令,在rvm装好后,设置系统默认版本:
$ rvm 2.4.0 --default
附:
- 查看已安装的ruby:
$ rvm list
- 卸载一个已安装的版本:
$ rvm remove 2.4.0
第四步:修改Ruby的默认源
- 终端运行命令,删除已有源:
$ gem sources --remove https://rubygems.org/
- 终端运行命令,添加源:
$ gem sources -a https://gems.ruby-china.org/
参考文章:《RubyGems 镜像- Ruby China》
以上两句可合并为:
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
- 验证是否替换成功:
$ gem sources -l
第五步:更新MAC的Gem
- 终端运行命令:
$ sudo gem update -n /usr/local/bin —system
附:
- 查看已安装的gem版本:
$ gem —version
第六步:安装CocoaPods
- 终端运行命令,开始安装:
$ sudo gem install -n /usr/local/bin cocoapods
安装完成提示:
26 gems installed
- 终端运行命令,更新pod:
$ pod setup
如若报错:error: RPC failed; curl 56 SSLRead() return error -36| 1024 bytes/s
则终端运行:
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
后再重新安装。
安装完成提示:
Setup completed
附:
- 更新CocoaPods:
$ sudo gem update cocoapods
- 查看是否可以ping通github:
$ sudo gem update --system
- 卸载CocoaPods:
- 获得路径:
$ which pod
- 移除pod组件:
$ sudo rm -rf /usr/local/bin/pod
后面的地址就是上一步的地址,需输入电脑密码。
- 查看gems中本地程序包:
$ gem list
- 删除cocoapods部分:
$ sudo gem uninstall cocoapods
- 查看是否删除成功:
$ pod search AFNetworking
删除成功提示:
command not found
第七步:查看是否安装成功
- 终端运行命令,搜索三方库看是否成功:
$ pod search RMPickerViewController
如提示:“Creating search index for spec repo 'master'.. Done!”,请等待。
- 搜索成功,q键退出。
第八步:使用CocoaPods安装三方库
- 终端运行命令,更改路径:
$ cd /Users/你的电脑账户名/Documents/工程名
如果你不知道自己的路径,可以将文件夹拖入Termal,会自动帮你完成路径输入。
- 终端运行命令,在路径下新建Podfile文件:
$ touch Podfile
- 手动在路径下选中刚才新建的Podfile文件,右键选择使用XCode打开,在其中输入以下代码:(亦可命令输入,不过有点麻烦,本人习惯用XCode编辑)
此为cocoapods 1.0.0后Podfile新写法,参考文章:《CocoaPods升级1.0.0碰到的问题》
platform :ios, '10.0'
inhibit_all_warnings!
target '工程名' do
use_frameworks!
pod 'MJRefresh', '~> 3.1.9’
end
- 终端运行命令,安装三方库:
$ pod install
安装完成提示:
[!] Please close any current Xcode sessions and use
工程名.xcworkspace
for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 1 total
pod installed.
附:
- 更新本地pod库:
$ pod update
pod install 与 pod update 的区别,参考这里->。
- 查看三方库版本(如上方第七步):
$ pod search JSONModel
以JSONModel为例,“JSONModel”为需要查看的类名。搜索成功后q键退出。
附:关于Podfile文件
- platform:指定项目支持的平台以及最低版本;
- “inhibit_all_warnings!”:全局禁止显示警告,这个特性也能在子target里面定义,如你只想屏蔽某pod里面的警告可以如下写:
pod 'Objection', :inhibit_warnings => true
- target:指定依赖库;
- “use_frameworks!”:告诉CocoaPods使用.frameworks来代替.a静态库,当使用Swift的时候使用。详见Podfile中的 use_frameworks!
- pod:指定工程的一个依赖,一个依赖项通过pod名和可选的版本号来声明。如不写后方版本号(如只写:
pod 'Objection'
),则表示直接安装最新版本;如写版本号(如只写:pod 'Objection', '0.1’
),则表示安装指定版本号的版本;对版本号的操作除了指定与不指定,你还可以做其他操作:
pod 'Objection', '>0.1' #------ 高于0.1的任何版本;
pod 'Objection', '>=0.1' #------ 版本0.1和任何更高版本;
pod 'Objection', '<0.1' #------ 低于0.1的任何版本;
pod 'Objection', '<=0.1' #------ 版本0.1和任何较低的版本;
pod 'Objection', '~>0.1.2' #------ 版本 0.1.2的版本到0.2,不包括0.2。这个基于你指定的版本号的最后一个部分。这个例子等效于>= 0.1.2并且 <0.2.0,并且始终是你指定范围内的最新版本;
参考文章:
《CocoaPods安装和使用教程以及RVM、RuBy的安装配置》
《Podfile语法参考(译)》
《CocoaPods 详解》
等。。。
另:听说可以使用CocoaPods.app,有兴趣的可以看看!
网上的使用教程:《iOS Cocoapods APP 使用教程》
下载地址:cocoapods.org