Який офіційний інсталятор пакетів Unix на Mac OS?


10

Я трохи розгублений щодо встановлення стандартних пакетів 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.)


Хороше запитання та кілька чудових відповідей. Ознайомтесь і з цим: superuser.com/questions/28529/macports-fink-etc
Jonik

Що стосується MacPorts: компілювати кожен пакет з нуля просто шалено. Я вважаю, що залишаю ноутбук на дні і ночі, просто щоб встановити R з MacPorts (який перший компілює gcc43, perl, automake, glib2 та багато іншого ...).
деман

Якщо ви хочете заздалегідь встановити двійкові пакети, перегляньте Rudix .
Телемах

Відповіді:


10

Не існує офіційного менеджера пакунків для ОС X.

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

Як зазначають багато користувачів:

  • уникати використання / usr
  • поки ви не налаштуєте свій PATH, пакунки з різних каталогів не знайдуться.

Дякую за відповідь. Це зовсім невтішно. Чому вони не можуть запропонувати належного менеджера пакунків? :-(
dehmann

5
Їх цільова аудиторія не знала, що робити. Решта з нас змушують це працювати :-)
Джеремі L

Я вибираю це як прийняту відповідь, але додаю, що насправді чудово використовувати декілька менеджерів. Принаймні Fink та MacPorts можуть співіснувати, оскільки вони встановлюються в різні каталоги.
деман

7

Хоча офіційного менеджера пакетів Unix / FOSS для Mac OS X не існує, слід зазначити, що MacPorts був створений і досі підтримується інженерами Mac OS X / Darwin Apple. Веб-сайт 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, перейдіть з 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 для виконання деяких завдань установки.


5
Як я розумію, Homebrew встановлюється під / usr / local /, і таким чином ніколи не замінить систему Python.
Pepijn

4
За допомогою Homebrew неможливо перезаписати наявні компоненти. OSX поставляється за замовчуванням без / usr / local.
Пол Робінсон

5

Там немає офіційної менеджер пакетів для OS X.

Fink, ймовірно, говорить, що він не встановлений, оскільки він не встановлений у шляху Fink. У мене виникли проблеми при установці чогось із Fink чи MacPorts, або копіювання копій з різними номерами версій.

Виберіть один і дотримуйтесь його. Якщо ви вважаєте, що вам доведеться змінити, найкраще буде видалити інший менеджер пакунків і перевстановити його з нового.


3

Версія 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 in / sw або MacPorts встановлюється в / opt / local. Налаштуйте свій PATHваріант, щоб знайти версії Fink / MacPorts перед стандартними версіями


Використовуючи подібні прапори, ви можете використовуватиwhich -a sqlite3
Jeremy L

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.