Встановлення MacPorts в macOS
Привіт усім. Я вже раніше писав про популярний менеджер пакунків Homebrew, у macOS існує ще один потужний інструмент — MacPorts.
MacPorts — це безкоштовний менеджер пакунків для macOS, який дозволяє легко встановлювати тисячі програм і бібліотек з відкритим кодом через термінал. Він існує з 2002 року і відомий насамперед тим, що підтримує навіть дуже старі версії macOS — аж до Leopard (10.5), тоді як сучасні альтернативи давно відмовились від такої сумісності.
Відмінність MacPorts та Homebrew
Homebrew і MacPorts — це не просто два інструменти для встановлення програм. Це два принципово різних погляди на те, якою має бути система керування пакунками.
Homebrew створений із думкою про простоту, швидкість і зручність. Він надає пакунки вже у скомпільованому вигляді — вводите команду, і через кілька секунд програма готова до роботи. Крім того, Homebrew намагається максимально використовувати вже наявні в системі бібліотеки, а конфлікти між пакунками вирішує автоматично. Все це робить його надзвичайно зручним для повсякденного використання, особливо для тих, хто не хоче заглиблюватись у деталі збірки.
MacPorts дотримується зовсім іншої філософії. Це проєкт, зосереджений на безпеці, стабільності та точному контролі. Він компілює кожен пакунок з вихідного коду прямо на вашому комп’ютері, що займає більше часу, але дає значно більше гнучкості — зокрема, можливість обирати конкретні версії пакунків і задавати параметри збірки. MacPorts ретельно керує всіма залежностями самостійно: навіть якщо потрібна бібліотека вже є в системі, він встановить власну версію, щоб гарантувати передбачуваний результат. Усі пакунки ізольовані у власній директорії /opt/local і жодним чином не перетинаються з системними файлами macOS.
Цікаво, що за кількістю пакунків MacPorts навіть випереджає конкурента — на сьогодні він налічує понад 40 000 портів, тоді як Homebrew пропонує близько 13 000 формул для утиліт командного рядка і ще приблизно 4 500 так званих касків для графічних застосунків. Однак кількість — це не все. Homebrew виграє за рахунок екосистеми: більшість блогів, відеоінструкцій на YouTube і технічної документації за замовчуванням описують саме його. Пакунки оновлюються частіше, спільнота більша, і знайти відповідь на будь-яке питання значно простіше.
Тому якщо ви тільки починаєте і не маєте особливих вимог — починайте з Homebrew. Але якщо вам потрібен точний контроль над версіями, стабільна ізольована збірка або ж у вас старий Mac, на якому Homebrew вже не працює, — MacPorts стане чудовим варіантом.
Встановлення MacPorts
1. Для встановлення виконайте команду у терміналі
xcode-select --install
2. З офіційного сайту завантажте та встановіть .pkg файл для вашої операційної системи. Це все.

Встановлення портів
Першe, що варто зробити після встановлення оновити список портів командою. Бажано це робити перед кожним встановленням.
sudo port selfupdate
Після можна встановити порт. Наприклад навантажувач YouTube відео:
sudo port install yt-dlp
Після встановлення утиліта готова до використання.

Видалення портів
Щоб видалити порт можна використати команду:
sudo port uninstall yt-dlp
Якщо потрібно видалити порт та всі залежні бібліотеки використайте конманду:
sudo port uninstall --follow-dependencies yt-dlp
2 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарівБуло б цікаво почитати про архітектуру MacPorts чи Homebrew з технічної точки зору. Або хоча б як туди додати свою програму.
Рік тому розбирався з Homebrew, щоб пофіксити білд eksctl на Go 1.24. Справився та створив PR, який успішно замерджили. Пам’ятаю, що там не все так легко та багато нюансів.
Це не зовсім правда, MacPorts так само має скомпільовані версії пакетів
Хочу додати, що homebrew створює bottles (скомпільовані версії пакетів) для трьох останніх версій MacOS. Таким чином, якщо юзати homebrew на Ventura або чимось більш старому, homebrew буде компілювати все з сорців, що займає дууууууже багато часу.
MacPorts у цьому плані виграє, оскільки зберігає зібрані версії пакетів навіть для застарілих систем.
Маю старий мак, який вже не оновлюється офіційно, і там різниця у швидкості встановлення софту дуже відчутна.
Це, до речі, одна з причин, чому в MacPorts більшість операцій потребують sudo. Директорія /opt/local належить root, тому пакети встановлюються як системні, а не на рівні користувача (/usr/local). Саме це є однією з ключових відмінностей між MacPorts і Homebrew.