当前位置:主页 > 查看内容

解决 CocoaPods 命令 pod install 安装 github.com 上的包非常缓

发布时间:2021-06-09 00:00| 位朋友查看

简介:解决 CocoaPods 命令 pod install 安装 github.com 上的包非常缓慢或者失败 CocoaPods 执行 pod install 会安装 github.com 上的包,但 github.com 很不稳定。 一个解决方案是,使用脚本将 github.com 的资源转换为其他域的资源。 CocoaPods v1.7.2 CocoaPod……

解决 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/'

解决方案

脚本是使用 python 写的,很简单,放在 https://github.com/senntyou/CocoaPods-Specs-Modify,如要使用,需要先克隆到本地。

git clone https://github.com/senntyou/CocoaPods-Specs-Modify.git

cd CocoaPods-Specs-Modify

python 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 许可证


本文转自网络,版权归原作者所有,原文链接:https://segmentfault.com/a/1190000040143548
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐