Какой официальный установщик для пакетов Unix на Mac OS?

6793
dehmann

Я немного озадачен установкой стандартных пакетов Unix в Mac OS X. Например, у меня есть / usr / bin / svn, то есть SVN v.1.4.4, но FinkCommander говорит, что svn не установлен. То же самое относится и к другим пакетам, таким как emacs и т. Д.

Это просто неправильная настройка FinkCommander? В настоящее время он установлен для установки всего /sw, чего нет даже в PATH. Итак, мне просто нужно установить его для установки пакетов /usr, и он будет распознавать установленное программное обеспечение? Я не хочу устанавливать дубликаты пакетов всего, и это довольно странно, что FinkCommander кажется не синхронизирован с установленным программным обеспечением.

Или я должен использовать какой-либо другой установщик? Mac Ports - рекомендуемый установщик?

(Я использую Mac OS 10.5.8.)

10
Хороший вопрос и несколько отличных ответов. Также проверьте это: http://superuser.com/questions/28529/macports-fink-etc Jonik 14 лет назад 0
Что касается MacPorts: компилировать каждый пакет с нуля просто безумие. Я оставляю ноутбук включенным на несколько дней и ночей, чтобы установить R с MacPorts (который сначала компилирует gcc43, perl, automake, glib2 и многие другие ...). dehmann 14 лет назад 0
Если вы хотите предварительно собрать двоичные пакеты, посмотрите [Rudix] (http://rudix.org/). Telemachus 13 лет назад 0

5 ответов на вопрос

10
Jeremy L

Нет официального менеджера пакетов для OS X.

Fink, MacPorts и Homebrew предоставляют свои отличающиеся функции и возможности, чтобы заполнить этот пробел.

Как отмечают многие пользователи:

  • избегать использования / usr
  • пока вы не настроите свой PATH, пакеты из разных каталогов не будут найдены.
Спасибо за ответ. Это довольно обидно. Почему они не могут предложить правильного менеджера пакетов? :-( dehmann 14 лет назад 0
Их целевая аудитория не знает, что делать. Остальные из нас заставляют это работать :-) Jeremy L 14 лет назад 5
Я выбрал это как принятый ответ, но я бы добавил, что на самом деле хорошо использовать несколько менеджеров. По крайней мере, Fink и MacPorts могут сосуществовать, поскольку они устанавливаются в разные каталоги. dehmann 14 лет назад 0
7
Spiff

Хотя нет официального менеджера пакетов Unix / FOSS для Mac OS X, следует отметить, что MacPorts был создан и до сих пор поддерживается в основном инженерами Apple Mac OS X / Darwin. Веб-сайт macports.org размещается на серверах Apple в рамках проекта Apple «MacOSForge.com». Поскольку Mac OS X / Darwin основана на * BSD, многие разработчики программного обеспечения на уровне Unix от Apple исходят из традиций * BSD, поэтому они смоделировали MacPorts по модели * BSD «порты».

Fink был первоначальным менеджером пакетов с открытым исходным кодом для Mac OS X, но у него нет тесных организационных связей с Apple, и он решил следовать традиции Debian Linux apt-get.

Я не уверен, что какой-либо из вышеперечисленных деталей достаточно, чтобы рекомендовать одну над другой. Я бы сказал, что все зависит от того, с какой моделью вы уже знакомы. Если вы более знакомы с apt-get, переходите к Fink. Если вы более знакомы с «портами» BSD, переходите на MacPorts.

Как уже говорили другие, лучше всего оставить инструменты Unix по умолчанию в Mac OS X. Fink и MacPorts уже усвоили этот урок и устанавливают свои собственные копии вещей в своих собственных иерархиях каталогов (/ sw для Fink, / opt для MacPorts). Homebrew еще не полностью усвоил этот урок, но он будет, как только некоторые пользователи будут использовать Homebrew для обновления встроенной копии, скажем, Perl или Python, и у него возникла непредвиденная проблема совместимости, которая ломает встроенные части Mac OS X, например пакеты установки (файлы пакета Mac OS X.pkg), которые используют сценарии Perl для выполнения некоторых задач установки.

Насколько я понимаю, Homebrew устанавливается в / usr / local / и, таким образом, никогда не будет перезаписывать системный Python. Pepijn 14 лет назад 5
Было бы невозможно использовать Homebrew для перезаписи существующих компонентов. OSX поставляется без / usr / local по умолчанию. Paul Robinson 13 лет назад 4
5
Josh K

Нет официального менеджера пакетов для OS X.

Fink, вероятно, говорит, что он не установлен, потому что он не установлен в пути Fink. Я столкнулся с проблемами при установке чего-либо из Fink или MacPorts или дубликатов с разными номерами версий.

Выберите один и придерживайтесь его. Если вы чувствуете, что должны измениться, было бы лучше стереть другой менеджер пакетов и переустановить новый.

3
Doug Harris

Версия svn, которую вы видите, поставляется с Mac OS X, а не от Fink или любого другого источника.

Вы можете идентифицировать разные версии, используя typeкоманду bash . Например, я использую MacPorts и установил более новую версию sqlite3:

$ type -a sqlite3 sqlite3 is /opt/local/bin/sqlite3 sqlite3 is /usr/bin/sqlite3 

Версия в / opt / local / bin пришла от MacPorts, версия в / usr / bin была поставлена ​​с Mac OS X.

Я рекомендую не устанавливать двоичные файлы Fink или MacPorts в / usr - оставьте их в покое. Позвольте Fink установить в / sw или MacPorts установить в / opt / local. Настройте, PATHчтобы найти версии Fink / MacPorts до стандартных версий

Используя похожие флаги, вы можете использовать `which -a sqlite3` Jeremy L 14 лет назад 0
0
Telemachus

Rudix - это еще один вариант, который привлекает меньше внимания, чем Homebrew, MacPorts или Fink .

Похожие вопросы