美文网首页
关于cocoaPods更新和冲突的问题

关于cocoaPods更新和冲突的问题

作者: 上帝是个女孩丶 | 来源:发表于2017-07-03 10:16 被阅读245次

一.pods版本过低更新的问题。

二.pods镜像文件冲突,无法使用的问题。

首先cocoaPods需要三方面支持:ruby,镜像,pods版本。

大概说一下依赖关系,我们接触到的最上层是pods版本,他是管理第三方库的。然后他的版本号依赖于ruby,ruby依赖于镜像文件。

流程大概是:更新镜像->删掉旧的镜像->升级ruby版本->升级pods版本。

1. 常见问题:

正常流程:从网上下载一个新的项目下来,运行发现pods里面是空的。

执行install/update命令拉取pod库:pod install

然后可能会报这个错:

[!] The `master` repo requires CocoaPods 1.0.0 -  (currently using 0.39.0)

提示我pods版本太低,需要1.0.0以上。(pod --version查看pod版本号)

执行命令来更新升级pods

sudo gem install cocoapods

然后运行了一堆,最后又报错了:

WARNING:  Unable to pull data from 'http://ruby.taobao.org/': bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)

大概意思就是说淘宝这个镜像已经失效了。pods依赖ruby,需要升级ruby。

好吧,我们去换一个ruby镜像:

sudo gem sources --add https://gems.ruby-china.org/

顺便查看一下当前的镜像:

gem sources -l  (查看当前ruby的源)

镜像

这是我安装的镜像,已经安装过最新的。顺手把旧的删除掉:

sudo gem sources --remove http://ruby.taobao.org/

再去更新ruby:

可以先查看一下现有的ruby版本:rvm list known:

第一个warning是rvm的,一般忽略就行。

更新Ruby命令:

curl -L get.rvm.io | bash -s stable

rvm reload

然后执行rvm命令,更新最新的ruby版本:

rvm install 2.2.0

更新完成以后可以查看当前ruby版本:

ruby -v

好了,到现在所有的基础配置已经完毕。再一次更新pod吧:

sudo gem install cocoapods

然后一番等待,更新完成,当前最新cocoapods:1.2.1

然后安心的再去项目执行:pod install

2. 再说一个坑,是因为装了多个repo仓库引起的。

当你存在多个repo仓库(公司私有的)的时候,就会起冲突:

Unable to find a specification for `******`

这个时候百度的结果是重置pod目录:

pod repo remove master
pod setup

注意:setup真的真的超级慢!

如果你在setup的时候卡着了,没有进度。可以有个办法查看是否在下载。

"cd ~/.cocoapods/"命令行跳到cocoapods文件夹

执行"du -sh *"查看正在下载的文件夹的大小。

然后过会再执行"du -sh *",对比大小,如果没有变化那就用以下方法:

试试这个方法:http://blog.csdn.net/appxcode/article/details/51755073

更新:遇到有的库无法install的问题,大多数是本地配置有问题。修改本地hosts 内容就行了。具体路径:/etc/hosts   (command+shift+G转到文件夹)

3. 以上命令行整理:

ruby -v查看当前ruby版本

rvm list查看本地ruby版本

rvm list known 查看现有所有版本

rvm current 查看当前使用的ruby

sudogem sources --remove http://ruby.taobao.org/ 删除某个镜像源

sudogem sources --addhttps://gems.ruby-china.org/添加

rvm --default use 2.2.2  切换使用的ruby版本

rvm install ruby-2.2.2 安装指定的版本

rvm remove 2.4.0 删除相应版本

pod --version查看pod版本号

sudo gem install cocoapods 更新pods

sudo gem install cocoapods -v 1.2.1 安装指定版本

gem sources -l  (查看当前ruby的源)

pods 换源

pod repo列举本地的源目录

pod repo remove  源名

pod repo add master https://github.com/CocoaPods/Specs.git

pod repo update

pod setup 更新pod源master仓库

pods 换源

pod repo列举本地的源目录

pod repo remove  源名

pod repo add master https://github.com/CocoaPods/Specs.git

pod repo update

换cocoaPods流程

先卸载本地的pods:

sudo gem uninstall cocoapods

获取本地pod的路径:

which pod

删除pod对应的版本

sudo rm -rf <本地pod路径>

先查看本地安装过的cocopods相关东西:

gem list --local | grep cocoapods

一般来说都会显示下面这几个:

cocoapods(0.39.0,0.39.0.beta.4,0.38.2)

cocoapods-core(1.0.0.beta.4,0.39.0,0.39.0.beta.4,0.38.2)

cocoapods-deintegrate(1.0.0.beta.1)

cocoapods-downloader(1.0.0.beta.1,0.9.3,0.9.1)

cocoapods-plugins(1.0.0.beta.1,0.4.2)

cocoapods-search(1.0.0.beta.1,0.1.0)

cocoapods-stats(1.0.0.beta.3,0.6.2,0.6.1,0.5.3)

cocoapods-trunk(1.0.0.beta.2,0.6.4,0.6.1)

cocoapods-try(1.0.0.beta.2,0.5.1,0.4.5)

这个时候删除对应的版本就好,按照提示一直按Y:

sudo gem uninstall cocoapods

sudo gem uninstall cocoapods-core

sudo gem uninstall cocoapods-deintegrate(1.0.0.beta.1)

sudo gem uninstall cocoapods-downloader

sudo gem uninstall cocoapods-plugins

sudo gem uninstall cocoapods-search

sudo gem uninstall cocoapods-stats

sudo gem uninstall cocoapods-trunk

sudo gem uninstall cocoapods-try

卸载完了再装吧:

1:sudo gem install cocoapods    如果这个报错就用第二个,指定路径的。反正我是不乐意往那里面塞,不写路径会自动安装到ruby下面的bin文件夹。

2:sudo gem install -n /usr/local/bin cocoapods

pod setup(这个应该不会很慢了,如果有master仓库的话)

中途用过的tips:

如何去除Git代理

 git  config --global -e

忽略SSL证书验证:

git config --global http.sslVerify false

相关文章

网友评论

      本文标题:关于cocoaPods更新和冲突的问题

      本文链接:https://www.haomeiwen.com/subject/twdacxtx.html