7

我试图通过 MacPorts(在 Snow Leopard 上)获得 postgresql 8.4,但似乎依赖项是无穷无尽的——包括获取 Snow Leopard、厨房水槽中已经可用的旧版本的东西,谁知道我最终是否会得到Windows 7的 ...

有没有办法只获得那些在 Mac 中从命令行运行东西绝对必要的依赖项?

特别是我试图避免安装旧版本的 python、Xorg 包等。

有任何想法吗?到目前为止,似乎最好完全避免使用 MacPorts。

4

2 回答 2

8

查看 postgresql84的端口文件,它的+python变体实际上意味着python2.5。您觉得烦人的大多数依赖项可能是由 python tkinter 模块对Tk的依赖引入的,它默认构建 Tk 的 X11 版本而不是 +quartz 变体。您可以通过指定该变体并重新安装来更改它。处理变体的简单方法是将通常要用作默认值的选项添加到/opt/local/etc/macports/variants.conf.

不幸的是,目前,Snow Leopard 上tk +quartz的变体构建已损坏。因此,如果您不打算将 tkinter(或 IDLE)与 MacPorts python2.5 一起使用,您可以在不需要的模块发生后强制删除:

port installed
port -f uninstall tk Xft2 xorg-libX11 ...

您可能希望首先通过添加-y选项来进行试运行,以查看确切的效果uninstall

请注意,该python26端口有一个方便的+no_tkinter变体,一旦将 portgresql 端口升级到 python2.6,它就会很有用。

于 2009-10-02T17:54:37.037 回答
5

这可能是一些繁重的工作(并且对于这种特定情况肯定违反了奥卡姆剃刀)......但如果你确定你知道你不想要/不需要哪些依赖项,它们总是可以在之后作为连字符分隔的 args 传递港口停靠:

port install sweetPort -depYouDontWant -depYouDontNeed ...

我知道自从 OP 以来已经有一段时间了,但我希望这对……有人有所帮助。

于 2010-12-11T18:11:39.137 回答