在上一篇的基础上, 本篇进行远程私有仓库的版本升级。
0.1.0私有库下面是只有两个文件,目录如下:
1.本地TestLib私有库0.2.0的改动不大,为了看到明显的效果,添加了私有库0.3.0,1.在0.3.0里面修改了TestLib目录下文件的目录,新增了新的文件如下:
2.使用终端cd到本地仓库中Example文件夹, 并执行pod install命令
3.修改TestLib.podspec文件中的版本号
4.终端cd到本地仓库TestLib文件夹下, 将整个本地库调用git命令, 全部push到远程私有仓库中, 并打上与TestLib.podspec文件相同的tag
git add .
git commit -m '备注'
git push origin master
git tag 0.3.0
git push --tags
5.终端cd到本地仓库TestLib文件加下, 调用pod lib lint --allow-warnings和 pod spec lint -allow-warnings检测TestLib.podspec文件
6.终端cd到TestLib文件夹, 执行命令 pod repo push 私有索引库名 podspec文件名, 将podspec添加到本地私有索引库, 然后自动push到远程索引库:pod repo push TestSpec TestLib.podspec --allow-warnings
显示已经添加到本地私有库TestSpec
提交本地podspec到Specs仓库的时候出错,提示repo 文件夹下的spec repo is not clean
解决方法:
方法一: cd到spec repo 文件夹下,执行 git clean -f
方法二:cd到spec repo 文件夹下,执行 git stash
方法三: 删除spec repo 下的Specs仓库,我这里的是“TestSpec”,然后重新从git上将私有仓库clone下来:
pod repo add TestSpec https://e.coding.net/wojia/testdemo/TestSpec.git
我是使用方法二解决的
7.使用终端cd到demo项目中的TestGCD文件夹下, 使用pod search TestLib.可以搜索到TestLib 0.3.0版本
并执行pod install命令, 可以将TestLib库冲0.1.0更新到0.3.0
至此升级完毕。
问题小结
1、执行pod lib create (组件库) 出错
提示错误:rubygems/core_ext/kernel_require.rb:120:in `require': cannot load such file -- colored2
(LoadError)
2、添加组件库到私有spec repo仓库后 执行 pod search搜索不到。
方法一:
先确认你本地仓库上面确实有你新创建的组件库,这时候可以先删除search缓存文件
rm ~/Library/Caches/CocoaPods/search_index.json,删除后从新执行pod search ***
方法二:
1.切换到某个项目(含有podfile文件)下
2.执行pod update(提示不能更新)
3.尝试 pod repo update —verbose获取详细信息,我记得是提示我删除一个 index.lock文件,
4.删除后从新 执行 pod repo update —verbose 会更新本地私有库和master仓库
5.执行pod search *** 创建search索引,可以搜到
3、提交本地podspec到Specs仓库的时候出错,提示repo 文件夹下的spec repo is not clean
方法一: cd到spec repo 文件夹下,执行 git clean -f
方法二:cd到spec repo 文件夹下,执行 git stash
方法三: 删除spec repo 下的Specs仓库,我这里的是“MySpecs”,然后重新从git上将私有仓库clone下来:
pod repo add MySpecs https://github.com/CharlsPrince/MySpecs.git
问题小结参考:https://juejin.cn/post/6844903533574258701