解决|解决 CocoaPods 命令 pod install 安装 github.com 上的包非常缓慢或者失败

解决 CocoaPods 命令 pod install 安装 github.com 上的包非常缓慢或者失败 CocoaPods 执行 pod install 会安装 github.com 上的包,但 github.com 很不稳定。
一个解决方案是,使用脚本将 github.com 的资源转换为其他域的资源。
CocoaPods v1.7.2 CocoaPods 从 1.7.2 版本开始使用 https://cdn.cocoapods.org/ 代替原有的 https://github.com/CocoaPods/Specs.git
这样可以按需下载需要的包定义,而不用一次性下载整个 Specs 库(整个库是 3GB 左右),参考 CocoaPods 1.7.2 — Master Repo CDN is Finalized!。

source 'https://github.com/artsy/Specs.git' - source 'https://github.com/CocoaPods/Specs.git' + source 'https://cdn.cocoapods.org/'

解决方案 【解决|解决 CocoaPods 命令 pod install 安装 github.com 上的包非常缓慢或者失败】脚本是使用 python 写的,很简单,放在 https://github.com/senntyou/CocoaPods-Specs-Modify,如要使用,需要先克隆到本地。
git clone https://github.com/senntyou/CocoaPods-Specs-Modify.gitcd CocoaPods-Specs-Modifypython modify.py

modify.py 脚本中,默认 specsDir~/.cocoapods/repos/trunk/Specs/targetSitegithub.com.cnpmjs.org/,可以根据需要更改,再运行脚本
# Specs目录 specsDir = os.path.expanduser('~') + '/.cocoapods/repos/trunk/Specs/'# github 域名 githubSite = 'github.com/'# 替换域名 targetSite = 'github.com.cnpmjs.org/'

示例 比如,原来的包定义是
{ "name": "MJRefresh", "version": "3.6.1", "summary": "An easy way to use pull-to-refresh", "homepage": "https://github.com/CoderMJLee/MJRefresh", "license": "MIT", "authors": { "MJ Lee": "richermj123go@vip.qq.com" }, "platforms": { "ios": "9.0" }, "source": { "git": "https://github.com/CoderMJLee/MJRefresh.git", "tag": "3.6.1" }, "source_files": "MJRefresh/**/*.{h,m}", "resources": "MJRefresh/MJRefresh.bundle", "requires_arc": true }

更改后的包变成
{ "name": "MJRefresh", "version": "3.6.1", "summary": "An easy way to use pull-to-refresh", "homepage": "https://github.com.cnpmjs.org/CoderMJLee/MJRefresh", "license": "MIT", "authors": { "MJ Lee": "richermj123go@vip.qq.com" }, "platforms": { "ios": "9.0" }, "source": { "git": "https://github.com.cnpmjs.org/CoderMJLee/MJRefresh.git", "tag": "3.6.1" }, "source_files": "MJRefresh/**/*.{h,m}", "resources": "MJRefresh/MJRefresh.bundle", "requires_arc": true }

github.com 变成 github.com.cnpmjs.org
后续 更多博客,查看 https://github.com/senntyou/blogs
作者:深予之 (@senntyou)
版权声明:自由转载-非商用-非衍生-保持署名(创意共享 3.0 许可证)

    推荐阅读