在创建了自己的私有类库后,使用 pod search 搜索后可以找到:
但是在使用 podfile文件 pod install 安装时却报错:
查看本地的 cocoapods repos 有没有时,发现没有我们想要的类库:JWJFramework
代码语言:javascript复制然后打开隐藏目录 .cocoapods (这个目录在你的个人目录底下, ~/.cocoapods 或 /Users/[username]/.cocoapods)
.cocoapods 目录下的 repos 其实是 repository (仓库)的缩写。 repos 中存放的时仓库的集合。
这里的 master 就是 CocoaPods 官方建立的仓库,也就是我们所谓的公共库。
specs 目录下存放的就是所有提交到 CocoaPods 的开源库的 podspec 文件的集合。
其组成方式: specName -- version -- specName.podspec
( master 里现在是 specName.podspec.json,这个 .json 文件就是 podspec 文件加了个后缀。
我们可以采用 pod ipc spec 这个命令来将 spec 文件转换成 .json)
以为需要更新下pods;结果发现报错:Failed to connect to GitHub update the Cocoapods /Specs repo -- Please check if you are offline, or that GitHub is down.
尝试使用 homeBrew升级 ruby环境,报错了。
终端执行pod setup pod update 报错 -- [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
代码语言:javascript复制一. 如果你的Ruby运行环境大于2.0.0的话可以升级cocoapods解决,查看当前ruby终端命令ruby -v
1、更新gem:sudo gem update --system
2、删除gem源:gem sources --remove https://ruby.taobao.org/
3、修改gem源:gem sources -a https://gems.ruby-china.org
4、查看gem源是否是最新的:gem sources -l
5、升级cocoapods:sudo gem install -n /usr/local/bin cocoapods --pre
6、查看升级后的cocoapods版本:pod --version
二.如果你的Ruby运行环境小于等于2.0.0不能使用了,那么就需要更新Ruby运行环境
1、安装 RVM
RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)
$ curl -L get.rvm.io | bash -s stable
等待一段时间后就可以成功安装好 RVM。(等着就好了,不到10秒吧.)
$ source ~/.bashrc
$ source ~/.bash_profile
测试是否安装正常,(以上两个命令行敲了不会显示什么,但是需要敲)
显示版本:rvm -v
2、用RVM升级Ruby
#查看当前ruby版本
$ ruby -v
#列出已知的ruby版本
$ rvm list known
#安装ruby 2.3
$ rvm install 2.3
安装完成会显示这个:(一些绿色的代码,大概不到30行吧.最后一行会显示下边的内容,表示你安装成功了2.3版本)
Install of ruby-2.3.0 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
安装完成之后ruby -v查看是否安装成功。
3、安装cocoapods
A.先升级Gem(可以省略)
sudo gem update --system
B.切换cocoapods的数据源
【先删除,再添加,查看】
gem source --remove https://rubygems.org/
gem source -a https://ruby.taobao.org/
gem source -l
C.安装cocoa pods (完了需要输入你的账户密码的)
sudo gem install -n /usr/local/bin cocoapods
D.设置pod仓库
pod setup
在使用RVM安装 ruby的时候,报错了,需要安装xcode 命令行工具
代码语言:javascript复制xcode-select --install
使用 ruby 更新Cocoapods
再次pod setup、pod update 又报错了
这些怎么解决呢? 其实mac OS 10.11之后, cocoapods的一些命令需要进行变化,如果你遇到了pod setup或者pod update 的问题了, 而且很难解决, 我建议不如卸载重装. 10.11 之后, 安装cocoapods有一些不同的命令,下面总结一下:
1.检查ruby环境,若需要请按如下更新
代码语言:javascript复制 $ sudo gem update --system
2.卸载cocoapods
代码语言:javascript复制 $ sudo gem uninstall cocoapods
这个选项选择 Y,选n的话后续有可能报出很多莫名的错误:
in addition to the gem? [Yn] y
3.重装cocoapods (安装命令有变化)
代码语言:javascript复制10.11之前
$ sudo gem install cocoapods
10.11之后
$ sudo gem install -n /usr/local/bin cocoapods
4.继续设置
代码语言:javascript复制 $ sudo chmod rx /usr/local/bin
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
5.将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下
代码语言:javascript复制 pod setup
这个命令第一次执行超级慢,等了大概3个小时,最后终于 setup 好了
终于 pod setup成功了。但是在使用 podfile文件 pod install 安装时还是会报错。
真正的解决办法:[!] Unable to find a specification for "JWJFramework"
其实原因是你在 Podfile 中没有指定路径,当你执行 pod install 的时候,CocoaPods 默认只会在 master 下搜索,而我们的 spec 是存在我们私有的 JWJFramework 目录下的。所以解决方式很简单,就是引入搜索地址即可,在 Podfile 的顶部添加如下两行代码:
代码语言:javascript复制source 'https://github.com/CocoaPods/Specs.git' #官方仓库地址
source 'https://gitee.com/fangmei/JWJFramework.git' #私有仓库地址
这里必须添加两个地址,默认情况下,你如果不添加 source ,系统会默认使用官方仓库地址,但是当你添加了 source 之后,系统就不会自动搜索官方地址,所以这两句都必须添加,否则其他基于官方的依赖库都不能使用了。