解决Cocoapods贼慢问题

做为一个iOS开发者,时不时就要与一些好用的框架或者库打交道,而且大多数还是国外的地址,访问相当慢,所以也就引发了一系列贼慢的问题,该篇文章就来好好总结下解决方案

一、更换gem源

// 查看现有的源
gem source -l  

我之前换过淘宝的源,在这里就会显示【 http://ruby.taobao.org/

*** CURRENT SOURCES ***

http://ruby.taobao.org/

但是现在淘宝源已经不再维护了,所以需要换为目前国内还在维护的【ruby-china】,如果之前没换过则默认为【https://rubygems.org/ 】,这个是国外的,对于我们来说也是比较慢的,所以也得将其更换掉

// 移除
gem sources --remove http://ruby.taobao.org/

// 添加 ruby-china 的源
gem sources --add https://gems.ruby-china.org/

二、更换pod repo源

我相信目前大部分友友的这个repo的源还是【 https://github.com/CocoaPods/Specs.git 】,因为一开始我们安装 pod 的时候执行了【pod setup】而这个是默认为我们安装的是国外的源。其实这个setup只是将CocoaPods/Specs通过git克隆到本地,所以我们也可以如此

这里需要注意一点,就是存放的位置是固定的

~/.cocoapods/repos/

如果没有这个目录请自行创建,已经有的就不用自己再去创建了

mkdir -p ~/.cocoapods/repos/

执行【pod repo】可以查看当前仓库的信息

pod repo

如果这里有多个文件夹,则会显示多条信相关息

- Type: git (unknown)
- URL:  https://github.com/CocoaPods/Specs.git
- Path: /Users/lxf/.cocoapods/repos/master

好,我们开始更换pod repo源,这里我选用国内【git.coding.net】上的Specs,也有其它国内的,需要的话自行搜索吧,这里就以coding上的Specs为例

// 将当前国外的创建移除
pod repo remove master

// 将Coding上的通过git克隆到本地并修改文件夹的名字为master
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master

如图所示,正在下载 pod repo源【这里请大家忽略本人的网速,带宽不给力,不然咻咻咻的就搞定了】

最后需要update一下

pod repo update

repo update

** 注意点:** 在每一个项目中创建的podfile文件的第一行都要填写下面这行source命令。这个可能会面临着使用的第三方库不是最新的问题,比如gitHub上面某个第三方的库已经是3.0了,结果只能下载使用2.x的,这个自己衡量吧。当然也可以自己在Coding上面新建一个工程将CocoaPods/Specs同步到你自己的仓库然后来使用~

source 'https://git.coding.net/CocoaPods/Specs.git'

source

补充

// 可以暂时使用我仓库里的Specs,更新时间为:2017-6-25
https://git.oschina.net/LinXunFeng/Specs.git

如果不知道怎么弄的话就按下面这种方式去搞吧,我试了几个国内免费的仓库,只有oschina的可以将gitHub上的Specs导入成功,接下来部署公钥,点击文章按要求去做,最后执行

// 注意YourUserName要改为你自己在码云上的用户名
 git clone git@git.oschina.net:YourUserName/Specs.git ~/.cocoapods/repos/master

这样的话就很快了,本人是4M小水管,所以400多k已经很不错了。这样就可以保证下载下来的第三方库是最新的!!!

要是还嫌麻烦的话就使用SPECS 中国镜像站

三、更换Homebrew源

这个不是必须的,只做额外补充~~ 手贱升级了一下Cocoapods,然后就提示 git 版本问题,具体情况请往下看~

升级git

在升级完Cocoapods后,不论执行什么pod命令都提示git版本问题

// 比如这些命令
pod repo  |  pod setup  |  pod install
// git版本问题,使用当前CocoaPods需要git版本在1.8.5以上
 [!] You need at least git version 1.8.5 to use CocoaPods

查看当前git版本

git --version

好吧,当前git版本也是很旧了,换换换~

git version 1.8.4.2

这里我们用Homebrew来帮我们升级git。但是,这里先不急着升级,我们先把Homebrew的源换成国内的清华镜像源

cd "$(brew --repo)"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

// 更新本地的镜像
brew update

更新完毕会提示 Already up-to-date. 接着再更新git就好了

brew install git

解决报错问题

Error: Another active Homebrew update process is already in progress.
Please wait for it to finish or terminate it to continue.
Warning: git 2.13.1 is already installed, it's just not linked.
You can use `brew link git` to link this version.

这里按它要求一步步操作即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯移动品质中心TMQ的专栏

QQ浏览器性能提升之路——windows性能分析工具篇

对普通用户而言,评判一款浏览器是否优秀,最直观的体验就是速度,但随着新功能的迭代,不断的开始有用户反馈浏览器开始变慢,这时候就需要进行性能优化了。而在Windo...

3875
来自专栏张善友的专栏

性能分析工具-PerfView

Roslyn的PM(程序经理) Bill Chiles,Roslyn使用纯托管代码开发,但性能超过之前使用C++编写的原生实现,这有什么秘诀呢?他最近写了一篇文...

2547
来自专栏程序猿

Git面试常见问题

有次推送了Git的基本配置。 Git作为团队开发的利器,在面试的时候,被问到的概率很大。 基础部分--大家平时都用什么工具? 出了Git自带的命令行工具外,作为...

3755
来自专栏小李刀刀的专栏

[译]Laravel 5.0 之目录结构与命名空间

本文译自 Matt Stauffer 的系列文章. ---- Laravel 的主版本号之所以从 4 升到 5. 一个很重要的原因是目录结构的改变. 这个改变实...

3414
来自专栏运维一切

mfs挂载失去连接问题 原

我在系统上部署了一个web应用,这个应用使用了mfs挂载使用静态资源,但是每次就突然进程没了,挂载点重新挂载又可以了。经查发现居然是因为我分派的内存太小,fpm...

762
来自专栏假装我会写代码

Laravel Bash 别名

1112
来自专栏安恒信息

大量Windows 0-day漏洞泄漏,安恒信息提供免费在线检测

北京时间 2017 年 4 月 14 日晚,黑客团体Shadow Brokers(影子经纪人)再次泄露了一份 117.9 MB 的 NSA 机密文档,内含 23...

2585
来自专栏中国白客联盟

Http Options出血漏洞CVE-2017-9798 可导致内存泄漏 PoC已公开

周一,研究员Hanno Böck发现HTTP Options存在出血漏洞CVE-2017-9798,如果网站管理员尝试对无效的 HTTP 方法实施 "Limi...

3695
来自专栏编程坑太多

『中级篇』镜像的发布(18)

1246
来自专栏FreeBuf

NSA Fuzzbunch中EternalRomance工具复现过程

自Shadow Brokers公布NSA泄露工具后,各路大神陆陆续续发表复现过程,这几天也仔细试了各种套路,一直想弄明白DoublePulsar中的shellc...

2317

扫码关注云+社区