今天使用cocopod安装高德地图SDK时发现提示版本较低,去终端里面,pod --version ,显示版本是0.39.0,而安装高德地图SDK需要1.0.0及以上。虽然不用cocopod直接拖进去也可以,但是趁着有时间还是打算处理一下,以备不时之需。然后笔者就只能乖乖去升级,想着就升级一下也不是什么麻烦的事,但是还是出现了一些坑,解决一个出现另一个。
下面是笔者的升级过程:
sudo gem update -- system // 先更新gem
gem sources --remove https://rubygems.org/ //移除
gem sources -a https://ruby.taobao.org/ //添加
gem sources -l //查看一下改成功没有
\*\*\* CURRENT SOURCES \*\*\*
https://ruby.taobao.org/
//这样就是成功了,下面的网址对应你设置的网址,下面开始更新cocopod 一切看着是那么顺利 so easy
sudo gem install cocoapods //安装
但是这个时候开始出现了问题:
第一个坑:
记得是说证书无效的错误,不过这个错误信息不重要了,原因和明显 ,现在不能用https://ruby.taobao.org/了,已经放弃维护了,现在改用https://gems.ruby-china.org/
下面是相关资料的链接:http://ruby-china.org/topics/29250
只需要重复上面的步骤 移除淘宝 改成这个https://gems.ruby-china.org/就行了。
记住,在 gem sources -l 的时候 如果发现下面显示两个网址,是不行的,要保证只有https://gems.ruby-china.org/这一个。
第二个坑:
正确改成https://gems.ruby-china.org/之后,笔者又开始执行更新命令,这时又报错:
Unable to resolve dependencies (无法解析依赖关系)
这时就要更新下依赖关系了。
执行命令:sudo gem update --system 下面是终端打印结果,示例:
Updating rubygems-update
Fetching: rubygems-update-2.4.6.gem (100%)
Successfully installed rubygems-update-2.4.6
...
最后会出现 RubyGems system software updated 就代表成功了。
第三个坑:
依赖关系也更新成功了,开始更新发现还是报错(有时会出现更新一半时报错):
While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
此时不要用 sudo gem installcocoa pods
要用 sudo gem install -n /usr/local/bin cocoapods --pre 就OK了。
注:
如果上面的操作无误,有时还会出现:hostname "upyun.gems.ruby-china.org" does not match the server certificate 的错误 ,不用担心 ,这是网络链接的问题 再次执行命令多试几下就好了。
以上就是这次更新笔者遇到的一些坑,具体的解决办法也是到处谷歌,看到类似的就尝试一下,寻求最终的解决办法。这篇文章不算原创,算是站在前人的肩膀上,把遇到的问题的解决方案总结一下吧,希望能对你有所帮助。