Как избежать установки ненужных зависимостей с MacPorts? - PullRequest
6 голосов
/ 02 октября 2009

Я пытался получить postgresql 8.4 через MacPorts (на Snow Leopard), но кажется, что зависимости бесконечны - включая получение более старой версии вещей, которая уже доступна в Snow Leopard, кухонная раковина, и кто знает, со временем ли я в конечном итоге с Windows 7 ...

Есть ли способ получить только те зависимости, которые абсолютно необходимы для запуска чего-либо из командной строки в Mac?

Особенно я стараюсь избегать установки старой версии пакетов python, Xorg и т. Д.

Есть идеи? Пока что кажется, что лучше вообще избегать MacPorts.

Ответы [ 2 ]

8 голосов
/ 02 октября 2009

Глядя на файл порта для postgresql84 , вариант +python для него фактически означает python2.5 . Большинство зависимостей, которые вы находите раздражающими, вероятно, вызваны зависимостью модуля python tkinter от Tk , который по умолчанию создает версию Tk для X11, а не вариант + кварц. Вы можете изменить это, указав этот вариант и переустановив. Простой способ работы с вариантами - это добавить параметры, которые вы обычно хотите использовать в качестве значений по умолчанию, к параметрам /opt/local/etc/macports/variants.conf.

К сожалению, на данный момент сборка варианта tk +quartz сломана на 1015 * Snow Leopard *. Итак, если вы не планируете использовать tkinter (или IDLE) с MacPorts python2.5, вы можете принудительно удалить после появления ненужные модули:

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

Возможно, вы захотите сначала выполнить пробный прогон, добавив опцию -y, чтобы точно узнать, каким будет эффект uninstall.

Обратите внимание, что порт python26 имеет удобный вариант +no_tkinter, который может быть полезен после обновления портов portgresql до python2.6.

6 голосов
/ 11 декабря 2010

Это потенциально немного тяжелая работа (и определенно нарушает бритву Оккама для этого конкретного сценария) ... но если вы уверены, что знаете, какие зависимости вам не нужны / не нужны, они всегда могут быть переданы как дефис Аргументы с разделителями после вызова порта:

port install sweetPort -depYouDontWant -depYouDontNeed ...

Я знаю, что прошло много времени с ОП, но я надеюсь, что это поможет ... кому-то.

...