pod repo push [private repo]遇到版本错误

时间:2017-03-23 04:51:06

标签: tags cocoapods

最近,我正在进行公司iOS应用程序的模块化,我们选择使用cocoapods来管理模块。
-----这是背景-----
昨天,我尝试将模块上传到私有spec repo,因此我执行了以下命令(在podspec目录中)

pod repo push [private repo name] --allow-warnings --sources='[private repo git address]' --verbose --use-libraries

然而,当cocoapods正在下载一些私有依赖项时,我发现一些依赖项的版本不是最新的,这导致xcodebuild步骤失败(因为我们更改了一些函数的名称)最新版本) 该模块的podspec文件依赖部分:(我没有指定依赖项的版本,因为我想要最新的)

...
s.dependency 'HomeJump'
...

(我的私有规格回购中HomeJump的最新版本为0.1.6,但每次执行pod repo push xxx时,其安装的HomeJump版本为0.1.5)<登记/> PS:
当我执行pod spec lint xxx时,HomeJump版本为0.1.6,这是正确的 我已经尝试运行pod repo updaterm -rf /Library/Cache/Cocoapods,重新安装我的私人仓库......

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

嗯......最后我发现了原因 每次执行pod repo push xxx命令时,cocoapods都会在自动创建的spec repo中找到每个依赖项的相应版本,它与您的私有spec repo具有不同的名称(名称形式有点像&#39; git服务器名称 - 组名称 - repo name&#39;)。此临时规格仓库与您的私人规格仓库相关。

解决方案是:删除临时规格仓库并再次运行pod repo push xxx

  1. 通过运行pod repo list
  2. 列出您的cocoapods回购
  3. 找到一个不是由您自己手动创建的,也与您的私人规格仓库相关的
  4. 运行rm -rf [the repo directory name]