安装
-
首先找到它的官网(https://cocoapods.org/)
打开终端,输入:sudo gem install cocoapods
然后会要求输入mac登录密码,输入即可。
注意如果不敲sudo的话,会出现没有权限安装提示:
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
如果下载不稳定,访问困难,可以使用国内RubyChina的源
查看当前版本:$ gem sources -l
添加国内镜像:$ gem sources --add https://gems.ruby-china.org
移除官方版本:$ gem sources --remove https://rubygems.org
完成后再次尝试安装:sudo gem install cocoapods
如果mac上的ruby版本过低,可能会出现这样的错误:
activesupport requires Ruby version >= 2.2
这时需要升级ruby。
- 安装RVM,Ruby版本管理器
安装:
$ curl -L get.rvm.io | bash -s stable
等安装好后:
$ source ~/.bashrc
$ source ~/.bash_profile
测试是否安装正常:rvm -v
- 如果RVM下载太慢,可以修改RVM为淘宝源(注:已过时。2016.10.24)
$ sed -i .bak -E 's!https?://cache.ruby-lang.org/pub/ruby!https://ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db
- 用RVM升级Ruby
查看当前ruby版本$ ruby -v
列出已知的ruby版本$ rvm list known
安装ruby 2.3.0$ rvm install 2.3.0
- 升级完成后,再次尝试安装
sudo gem install cocoapods
- 完成后检查版本是否安装成功
pod --version
- 最后需要setup一下
pod setup
如果安装很久,超时等等,请确保所在网络没有被墙,如果有访问限制的话可连手机4G热点来安装~ - 如果遇到这样的错误
Error loading the plugin with path '/Library/Ruby/Gems/2.0.0/gems/cocoapods-plugins-0.3.1/lib/cocoapods_plugin.rb'
Errno::EACCES - Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14
尝试更新一下,运行命令gem update --system
卸载
列出所有已安装
gem list
可以看到其中有cocoapods,以及许多与它相关的,要完全卸载的话用下面的方法一个一个卸载 >_<
sudo gem uninstall cocoapods
使用
-
搜索pod库,比如搜sdwebimage
pod search sdwebimage
当前最新版是3.8.1,拷出来
pod 'SDWebImage', '~> 3.8.1'
-
编写podfile
新建个Xcode工程,打开终端,cd到工程目录(tips:先敲cd空格,然后把工程拖到终端):
然后初始化:pod init
用文本编辑器打开podfile,按需要写好:
让CocoaPods安装库
确保终端cd到podfile所在目录后,安装
pod install
安装完成后,双击.workspace打开工程,可以愉快地玩耍了~
常见问题
更新本地仓库,可解决
pod search
搜索不到最新库的问题
cd ~/.cocoapods
删除整个repo
pod setup
setup的时候发生错误
... .cocoapods/repos/master fetch --unshallow
RPC failed; curl 56 SSLRead() return error -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
可考虑卸载干净后重新安装
gem list
查看所有cocoapods相关的套件,然后卸载
sudo gem uninstall cocoapods
sudo gem uninstall cocoapods-core
...
sudo gem uninstall xcodeproj
sudo gem install xcodeproj
sudo gem install cocoapods
指定版本更新
pod 'SDWebImage', '~> 3.8.1'
这样写的时候,是近似于3.8.1的意思,假如库的最新版本是3.8.2,那么执行pod update就会更新到3.8.2
pod 'SDWebImage', '= 3.8.1'
这样写的时候,就可以固定版本为3.8.1,当库有了新版本后,即使执行pod update也不会对已安装的3.8.1有影响。update或install后,xcode警告找不到以前旧的库
如果工程中有svn管理信息,需要把旧库的文件标记为delete,提交svn。警告即消除。加快更新速度
在update或install后可追加--verbose --no-repo-update
可跳过本地仓库的更新步骤CocoaPods禁止/消除警告
在podfile文件开头添加一行
inhibit_all_warnings!
去掉所有警告
:inhibit_warnings => true
添加在某个库的后面,单独显示它警告
引用参考
https://ruby.taobao.org/
https://gems.ruby-china.org/
http://blog.csdn.net/lissdy/article/details/9191351
http://blog.csdn.net/majiakun1/article/details/49583137