我试图通过MacPorts(在Snow Leopard上)获得postgresql 8.4,但似乎依赖性是无穷无尽的 - 包括已经在Snow Leopard中提供的旧版本的东西,厨房水槽以及谁知道我是否最终结束了Windows 7 ...
有没有办法只获得从Mac命令行运行东西绝对必要的依赖项?
特别是我试图避免安装旧版本的python,Xorg包等等。
有什么想法吗?到目前为止,似乎完全避免使用MacPorts。
答案 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以来已经有一段时间了,但我希望这对某人有所帮助。