Homebrew(以及其他一般的包管理器)如何解决依赖关系?那些特殊情况如循环依赖?是否存在此任务的通用模式,算法和/或数据结构?
答案 0 :(得分:0)
解决有向无环图中依赖性问题的通用算法称为topological sorting。我非常确定包经理们使用的是什么。但是,这不适用于循环依赖。
对于循环(运行时)依赖项,您可以(至少在RPM中)跳过对其中一个软件包的检查或安装相互依赖的软件包"同时"通过在同一命令行上指定它们。然后包管理器知道也将安装另一个包,从而满足依赖性。
我不认为有构建时循环依赖的解决方案。