C.W.K.
Stream
Lesson 01 of 05 · published

MacPorts 가 정답일 때

~10 min · macports, overview, comparison

Level 0초심자
0 XP0/55 lessons0/16 achievements
0/80 XP to next level80 XP to go0% complete

MacPorts 는 형이야. 2002 년부터 (원래 DarwinPorts 라 불렸어) 활동 중이고, Homebrew 보다 7년 먼저 태어났어. 더 작지만 충성스러운 커뮤니티 — 그리고 적합한 프로젝트에선 여전히 더 나은 도구.

MacPorts 를 Homebrew 와 다르게 만드는 세 가지. 첫째, 디폴트로 source 에서 빌드. sudo port install python312 하면 MacPorts 가 Mac 에서 너의 toolchain 으로 Python 컴파일. Homebrew 의 binary bottle 보다 느리지만, 너 macOS+arch 에 정확히 맞는 재현 가능 빌드를 주고, 빌드 커스터마이즈 가능.

둘째, MacPorts 는 완전히 self-contained. 모든 의존성의 자기 복사본을 번들 — 자기 OpenSSL, 자기 readline, 자기 zlib. macOS 시스템 라이브러리 절대 안 건드려. macOS 업그레이드에서 MacPorts 셋업이 더 격리됨 — Apple 이 시스템 라이브러리 바꿔도 MacPorts 도구는 보통 모름.

셋째, MacPorts 는 variants 사용 — port 별로 켜고 끌 수 있는 빌드 타임 옵션. Python 3.12 지원하지만 X11 없는 vim? sudo port install vim +python312 -x11. Fortran 있는 GCC? sudo port install gcc14 +fortran. Homebrew formula 는 보통 이 정도 빌드 타임 컨트롤 노출 안 함.

대신 trade-off 셋. MacPorts 는 거의 모든 것에 sudo 필요 (Homebrew 는 절대 X). 빌드 더 느림 (컴파일 vs 다운로드). 커뮤니티 더 작아서 가끔 third-party 도구 빠짐. 빌드 커스터마이즈나 격리 중요할 때 MacPorts; 속도와 폭 중요할 때 Homebrew.

Code

MacPorts vs Homebrew 한눈에·text
                  MacPorts              Homebrew
  Prefix          /opt/local/           /opt/homebrew/ (Apple Silicon)
  디폴트          Source 빌드           사전 컴파일 bottle
  Sudo 필수       Yes (항상)            No (절대 안)
  Variants        Yes (port 별 +/-)     제한적
  Port 수         ~29,000+              ~7,000+ formulae (+ casks)
  macOS 지원      10.5 Leopard 까지 거꾸로  Rolling, 옛 버전 drop
  적합한 때       빌드 flag 필요        지금 install 하고 싶음

External links

Exercise

https://ports.macports.org 둘러보고 multiple variants 가진 ports 셋 찾아 — description 에서 '+variant' 표기 봐. 각 variant 가 뭐 컨트롤하는지 적어. 이 기능이 MacPorts 가 Homebrew 옆에 존재하는 이유를 정당화해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.