解决|解决 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/
,targetSite
取 github.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 许可证)
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- Spark|Spark 数据倾斜及其解决方案
- 解决SyntaxError:|解决SyntaxError: invalid syntax
- 你命令我爱你吧(原创)
- Spectrum|Spectrum 区块偶尔停止同步问题排查与解决笔记
- 一劳永逸地解决词汇量不够的问题