vi有时候ruby版本过低同样会导致pod安装失败。可以使用ruby -v命令查看当前ruby的版本
1.$ curl -L https://get.rvm.io | bash -s stable
2.载入rvm环境:$ source ~/.rvm/scripts/rvm
3.检查是否安装成功,输入下面命令出现版本号等信息表示安装成功rvm -v
4.用rvm安装ruby环境 $ rvm install 2.2.2
5.设置为默认版本 rvm use 2.2.2 --default
补充一些常用命令
rvm list 查看已安装ruby
rvm list known 列出ruby可安装版本信息
rvm remove 2.2.2 卸载一个已安装的ruby版本
gem source 查看已有源
gem sources -a http://ruby.taobao.org把源切换至淘宝镜像服务器
下面安装pod:
sudo gem install cocoapods用这个命令会报错误
然后pod search afnetworking 一直卡着不动了,原来淘宝的镜像不用了,改用阿里的了,应该把淘宝镜像移除掉,用gem sources -a https://gems.ruby-china.org/,继续安装pod:
(1)$sudo gem install cocoapods 备注:苹果系统升级 OS X EL Capitan 后改为$sudo gem install -n /usr/local/bin cocoapods
(2)$pod setup 等了好久,也报了好几个错误,其中有一个错误是因为网络原因,
(3).更新gem
$sudo gem update --system。。。。报错
(4).这个时候搜索你需要的第三方库,比如:pod search afnetworking 就可以了,把需要用的版本信息copy下来。按q键退出。
(5).cd到项目下,终端命令输入:cd 然后把桌面上的项目拖进去即可
(6).在工程中创建一个Podfile文件
然后使用vim编辑Podfile文件,使用命令:
$ vim Podfile进入如下界面
然后紧接着按键盘上的“i”键,这个时候可以对Podfile文件进行编辑:
platform:ios, ‘8.0‘
target'项目名称' do 项目名称就是MVVMModel.xcodeproj去掉后缀
pod ‘AFNetworking‘, ‘~> 2.3.1‘
end
如果是导入ReactiveCocoa 在vim编辑器的最上面加上use_frameworks!
在编辑完成后按“esc”
在按“:”,这个时候输入wq,点击回车,保存并退出。
(8).然后在终端输入命令安装相应的第三方类库pod install,如果长时间没有反应 证明被墙了 换成pod install --verbose --no-repo-update这个命令,因为这个过程需要下载相应的类库,所以时间和网速有关。
如果需要依赖多个第三方类库,只需要修改 Podfile 文件的配置,然后运行 pod update 命令即可,如果类库有更新,查看更新配置并执行 pod update 即可简单完成了
pod install与pod update区别:
1.使用pod install来安装新的库,即使你的工程里面已经有了Podfile,并且已经执行过pod install命令了;所以即使你是添加或移除库,都应该使用pod install。
2.使用pod update [PODNAME] 只有在你需要更新库到更新的版本时候用。
小技巧:
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
podinstall--verbose --no-repo-update
podupdate--verbose --no-repo-update
2018.5.22 新改动
现在淘宝镜像不再更新了,改用https://gems.ruby-china.org/
这是因为taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务,正确的操作是:
$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
$ gem sources --remove https://ruby.taobao.org/ //如果安装了淘宝的镜像
//等有反应之后再敲入以下命令
gem sources -a https://gems.ruby-china.org/
为了验证你的Ruby镜像是并且仅是ruby-china,可以用以下命令查看:
$ gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
# 确保只有 gems.ruby-china.org
然后进行安装:执行 sudo gem install -n /usr/local/bin cocoapods
再加一句:sudo xcode-select --switch/Applications/Xcode.app
pod setup 完成。
pod 更新第三方依赖遇到的 object version 问题
错误提示:RuntimeError - [Xcodeproj] Unknown object version.
/Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:217:in initialize_from_file' /Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/xcodeproj-1.3.0/lib/xcodeproj/project.rb:102:inopen'
/Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:695:in block (2 levels) in inspect_targets_to_integrate' /Users/ocean/.rvm/gems/ruby-2.2.2@global/gems/cocoapods-1.0.1/lib/cocoapods/installer/analyzer.rb:694:ineach'..............
原因:就是你的xcode版本和现在CocoaPods 的版本问题不匹配 比如你用xcode8 你的cocoaPods 版本是1.0.1 . 就有可能出现此类问题。因为xcode8需要cocoaPods1.1.0.
解决方法:
就是更新cocoaPods的版本 ,在终端执行如下命令gem install cocoapods --pre,然后在相对应podfile文件所在路径下执行pod install 即可。