在我最近的一次采访中,我被问到关于软件包管理器工具在内部npm或pip内部如何工作,以便确定首先要安装哪些依赖项。
npm
pip
例如,假设您要安装依赖于软件包B的软件包A,而后者又依赖于软件包C。在这种情况下,应先安装软件包C,再安装B,然后再安装A。
依赖跟踪可能变得更加复杂,我相信可以以图形的形式表示。现在的问题是弄清楚这些软件包之间是否存在周期性的依赖关系,如果不存在,则以安装它们的顺序打印这些软件包。
我无法及时提出正确/最佳的解决方案,但也许有人可以提供帮助?
谢谢!
algorithm graph
algorithm ×1
graph ×1