Nanobrew: brew와 호환되는 가장 빠른 macOS 패키지 매니저

발행: (2026년 3월 24일 PM 08:40 GMT+9)
3 분 소요

Source: Hacker News

nanobrew – Zig 로 작성된 가장 빠른 macOS 패키지 관리자입니다.

curl -fsSL https://nanobrew.trilok.ai/install | bash

그런 다음 터미널을 재시작하거나 출력된 export 명령을 실행하세요.

속도

Apple Silicon, macOS 15, 동일 네트워크 환경.
Cold = 새로 다운로드. Warm = 스토어에 캐시됨.

벤치마크brew (시간)nb (시간)속도 향상
tree / 0 의존성, cold8.99 s1.19 s7.6배 빠름
wget / 6 의존성, cold16.84 s11.26 s1.5배 빠름
ffmpeg / 11 의존성, warm~24.5 s3.5 ms7,000배 빠름

빠른 시작

$ nb install jq
==> Resolving dependencies...
[38ms]
==> Installing 1 package(s):
jq 1.7.1
==> Downloading + installing 1 packages...
 jq
==> Done in 1102.4ms
$ nb list
jq 1.7.1
$ nb update   # self‑update nanobrew
==> Updating nanobrew...
==> nanobrew updated successfully

작동 방식

  1. Resolve – 동시 API 호출을 통한 BFS 병렬 의존성 해결.
  2. Download – 단일 패스 스트리밍 SHA256 검증을 지원하는 네이티브 HTTP.
  3. Extract – SHA256을 키로 하는 콘텐츠 주소 지정 스토어에 압축 해제.
  4. Materialize – APFS clonefile 로 Cellar에 복제 — 복사 시 쓰기, 디스크 사용량 0.
  5. Link – 바이너리를 PATH에 심볼릭 링크하고 로컬 데이터베이스에 기록.

왜 빠른가

APFS clonefile

macOS 시스템 콜을 통한 복사 시 쓰기 물질화. 설치당 디스크 오버헤드 0.

모든 작업을 병렬화

다운로드, 압축 해제, 재배치, 의존성 해결이 모두 동시에 실행됩니다.

네이티브 HTTP

Zig std.http.Clientcurl 서브프로세스 호출을 대체합니다. 병당 프로세스가 하나 줄어듭니다.

네이티브 Mach‑O

바이너리 헤더에서 로드 명령을 직접 읽습니다. otool 불필요. 배치된 코드 서명.

콘텐츠 주소 지정 스토어

SHA256 키 기반 중복 제거로 재설치 시 다운로드와 압축 해제를 완전히 건너뜁니다.

단일 정적 바이너리

Ruby 런타임, 인터프리터 시작, 설정 파일 복잡성 없이 ~2 MB 크기의 단일 바이너리만 존재합니다.

0 조회
Back to Blog

관련 글

더 보기 »

터미널용 로그 파일 뷰어

터미널용 로그 파일 뷰어. Merge, tail, search, filter, 그리고 query 로그 파일을 손쉽게 할 수 있습니다. 서버가 필요 없습니다. 설정도 필요 없습니다. 여전히 풍부한 기능을 제공합니다. !Screenshot of lnav https:...

프로그래밍 동시성

!프로그램 동시성 커버 이미지 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads...

WWDC26: 2026년 6월 8일~12일

WWDC26: 2026년 6월 8일~12일, 2026년 3월 23일! 검은 배경에 회색‑흰색 그라데이션으로 된 WWDC26 로고. 첫 두 글자 WW는 짙은 회색이며, ...