Macports 中的降级包

Macports 中的降级包

我正在使用 Macports 1.7.1,并且我不想要最新的端口版本,因为它与我想要从源代码构建的一些其他软件包不能很好地兼容。

如何强制从 macports“port”工具中安装特定版本的软件包?

答案1

您的软件的旧版本可能仍然存在。请运行以下命令进行检查:

port installed PACKAGE

其中 PACKAGE 是您要降级的。这将列出匹配的端口的“完全限定”名称。您将看到活动端口和旧的非活动端口。您可以通过执行类似于此过程的操作来切换它们:

port deactivate PACKAGE@CURRENT_REVISION+VARIANTS

port activate PACKAKGE@OLD_REVISION+VARIANTS

答案2

我认为您不能在 MacPorts 中使用旧版本。构建列表会进行维护,除了少数软件包(例如 mysql)之外,似乎不包含许多以前的版本。因此,如果您这样做port search package,它显示的结果就是它所能做的一切。在 mysql 的情况下,我可以看到有 mysql5、4 和 3。如果我想要 4,我只需执行sudo port install mysql4

如果您的包没有列出,您可能必须从头开始构建。

答案3

您可以创建额外的本地 portfile 存储库来覆盖某些软件包。我使用它来强制 MacPorts 使用旧版本的“screen”软件包(新版本存在未解决的错误问题)。

MacPorts 指南包含有关如何配置此功能的详细信息: http://guide.macports.org/#development.local-repositories

相关内容