iOS 最新版 CocoaPods 的安装流程
一、安装方法:
1、移除现有Ruby默认源
gem sources --remove https://rubygems.org/
为了提高安装的成功几率,大家可以多移除几个源。
gem sources --remove https://rubygems.org/
gem sources --remove http://ruby.taobao.org/
gem sources --remove https://ruby.taobao.org/
gem sources --remove https://gems.ruby-china.org/ 宁可错杀一千,绝不放过一个
2、使用新的源
gem sources -a https://gems.ruby-china.org/
3、验证新源是否替换成功
gem sources -l
4、设置gem为最新版本
sudo gem update --system
如果失败,报错如下,请重新安装 ruby
目前最新版本:
RROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/update_rubygems
解决办法:
在终端输入如下命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
等执行完后,(如果安装失败:请参考http://stackoverflow.com/questions/28460953/homebrew-install-issue-after-computer-restoration)
在终端执行 brew install ruby
然后重新设置 gem为最新版本。
升级成功后会提示: Latest version currently installed. Aborting.
也可参照:http://blog.csdn.net/springjustin/article/details/51836968
5、执行安装CocoaPods命令
(1)sudo gem install cocoapods
如果报以下错误:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
解决方案1:
执行下面的命令并重启
(1)sudo nvram boot-args="rootless=0"
(2)sudo reboot
重启之后, 执行这个命令检查
(3)sudo gem install cocoapods -V
如果依旧有错误,使用第二个方案
解决方案2:
sudo gem install -n /usr/local/bin cocoapods
pod setup
这一点需要注意,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。(总共大概是750兆)
安装成功后,你会看到:Setup completed
二、使用方法说明
1、在自己的工程中创建Podfile.lock文件
(1)cd 到自己的工程目录中
(2)输入 touch Podfile 回车
(3)使用Xcode打开Podfile.lock文件
(4)在终端中输入 pod search XXXXXX
eg: pod search AFNetworking
找到对应的库,将如下图中的红色标识内容复制到Podfile.lock文件中
(5)cd到Podfile.lock目录下执行如下操作来下载对应的库
pod install
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
附一:如何使用CocoaPods的镜像索引:
所有项目的Podspec文件都托管在https://github.com/CocoaPods/Specs,
第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的~/.cocoapods目录下,
这个索引文件比较大,所以第一次更新时非常慢.
友好人士在国内的服务器建立了Cocoapods索引库的镜像,
所以执行索引跟新操作时候会快很多.具体操作方法如下:
pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update
这是使用gitcafe上的镜像,将以上代码中的 https://gitcafe.com/akuandev/Specs.git
替换成 http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。
附二:升级 Ruby 版本(另一种方法)
第一步:安装rvm
$ curl -Lget.rvm.io | bash -s stable
$ source~/.profile
等待终端加载完毕,后输入:
$ rvm -v
如果能显示版本号,则安装成功。
第二步:安装ruby
列出ruby可安装的版本信息
$ rvm list known
安装一个ruby版本
$ rvm install 2.3
如果想设置为默认版本,可以用这条命令来完成
$ rvm use 2.1.4 --default
查看已安装的ruby
$ rvm list
卸载一个已安装ruby版本
rvm remove 2.3
第三步:更换源
查看已有的源
$ gem source -l
显示如下:
CURRENT SOURCES
http://rubygems.org/
2017年10月出现错误:
RuntimeError - [Xcodeproj] Unknown object version.
/Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:217:ininitialize_from_file' /Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:102:inopen'
原因:就是你的xcode版本和现在CocoaPods 的版本问题不匹配 比如你用xcode8 你的cocoaPods 版本是1.0.1 . 就有可能出现此类问题。因为xcode8需要cocoaPods1.1.0.
解决方法:
就是更新cocoaPods的版本 ,在终端执行如下命令gem install cocoapods --pre,然后在相对应podfile文件所在路径下执行pod install 即可。