如何避免使用MacPorts安装不必要的依赖项?

时间:2009-10-02 12:28:01

标签: macos dependencies macports

我试图通过MacPorts(在Snow Leopard上)获得postgresql 8.4,但似乎依赖性是无穷无尽的 - 包括已经在Snow Leopard中提供的旧版本的东西,厨房水槽以及谁知道我是否最终结束了Windows 7 ...

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

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

有什么想法吗?到目前为止,似乎完全避免使用MacPorts。

2 个答案:

答案 0 :(得分:8)

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

不幸的是,目前,tk +quartz变种版本为broken on Snow Leopard。因此,如果您不打算将tkinter(或IDLE)与MacPorts python2.5一起使用,则可以在不需要的模块之后强制删除:

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

您可能希望首先通过添加-y选项来进行干运行,以确切了解uninstall的效果。

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

答案 1 :(得分:6)

这可能是一些笨拙的工作(并且肯定违反了Occam剃刀的特殊情况)......但如果你是肯定的,你知道你不想要/不需要哪些依赖,它们总是可以作为连字符传递 - 端口呼叫后分隔的args:

port install sweetPort -depYouDontWant -depYouDontNeed ...

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