【发布时间】:2019-02-21 15:15:59
【问题描述】:
在我的 iOS 应用中,我尝试使用 Carthage 导入两个框架——这两个框架都具有 Alamofire 作为依赖项(但版本不同)。
当我运行 carthage update --platform ios 时出现错误:
No available version for github "Alamofire/Alamofire" satisfies the requirement: == 4.7.1
在 iOS 应用的 Cartfile 中,我包含了一个私有框架和 AlamofireImage:
git "ssh://git@<url>.com/<repo-name>.git" "<branch-name"github "Alamofire/AlamofireImage" == 3.3.1
当我进行一些挖掘时,我看到 AlamofireImage 在 Cartfile 中有这个:
github "Alamofire/Alamofire" ~> 4.7
我的私人仓库有github "Alamofire/Alamofire" == 4.7.1
注意:在我的私人仓库中,我的 .gitignore 文件中同时包含 Carthage/Build 和 Carthage/Checkouts,因为它们在公关评论中引起了一堆噪音。
Carthage 似乎正在尝试查找 Alamofire 4.7.1,但由于某种原因失败了。到目前为止,我发现的唯一解决方法是将 github "Alamofire/Alamofire" == 4.7.1 包含在我的 iOS 应用程序的 Cartfile 中......但我不明白为什么 iOS 应用程序本身需要了解其依赖项的依赖项。
谢谢!
【问题讨论】:
-
在我使用 Alamofire 的项目中,我更喜欢直接将 Alamofire 项目作为主项目的依赖项,而不是依赖 CocoaPods 或 Carthage。这种方法让我感觉在更新存储库时可以更好地控制重大更改。
标签: ios git alamofire carthage