M1/M2 맥북 Homebrew 아키텍처 충돌 (Rosetta 2) 해결 방법
큰맘 먹고 구매한 M1, M2, 혹은 최신 M3 맥북! 빠릿빠릿한 속도에 감탄하며 "이제 나도 멋진 환경에서 개발해야지~" 하고 터미널을 열었는데... 이게 웬걸? 예전 인텔(Intel) 맥에서 쓰던 방식 그대로 Homebrew(홈브류)를 설치하고 패키지를 깔려고 하니 자꾸 알 수 없는 빨간색 에러 메시지가 쏟아진 적 있으신가요?
Bad CPU type in executable 이라든지, Cannot install under Rosetta 2 in ARM default prefix 같은 외계어 알림을 보면 정말 눈앞이 캄캄해지죠. 저도 처음 인텔 맥북에서 M1으로 넘어왔을 때 이 아키텍처 충돌 문제 때문에 며칠을 고생했던 기억이 납니다. 하지만 걱정 마세요! 이 현상은 맥북이 고장 난 게 아니라, 애플의 두뇌(CPU) 구조가 바뀌면서 발생한 아주 자연스러운 과도기적 증상일 뿐입니다. 오늘 제가 알려드리는 단계별 해결책을 그대로 따라 하시면 꼬여버린 터미널을 아주 깔끔하게 복구하실 수 있을 거예요! 😊
1. 왜 이런 오류가 발생하는 걸까? 🤔
해결책을 적용하기 전에 왜 이런 문제가 생기는지 아주 쉽게 짚고 넘어가 볼까요? 핵심은 Homebrew의 설치 경로(PATH)가 인텔 맥과 애플 실리콘 맥에서 완전히 다르다는 점입니다.
과거 인텔 맥은 x86_64라는 아키텍처를 사용했고, 최신 M시리즈 맥은 ARM64라는 아키텍처를 사용합니다. Homebrew는 이 두 세계가 충돌하지 않도록 아예 설치되는 폴더 위치를 나눠버렸어요.
| 구분 | Intel Mac (x86_64) 또는 로제타2 | Apple Silicon (ARM64) |
|---|---|---|
| 기본 설치 경로 | /usr/local/bin/brew |
/opt/homebrew/bin/brew |
| 발생하는 문제 | 예전 맥에서 '마이그레이션(데이터 이동)'을 해왔거나, 터미널이 'Rosetta를 사용하여 열기'로 체크되어 있을 경우, M시리즈 맥인데도 억지로 인텔용 경로(/usr/local/...)에 설치하려고 하면서 충돌이 발생합니다. |
|
애플 실리콘(ARM) 환경에서 기존 인텔(x86) 전용 프로그램이 돌아갈 수 있도록 실시간으로 번역해 주는 애플의 공식 에뮬레이터입니다. 훌륭한 기술이지만, Homebrew 같은 패키지 관리자를 쓸 때는 아키텍처 혼선을 유발하는 주범이 되기도 합니다.
2. 현재 내 터미널 상태 진단하기 🔍
일단 내 터미널이 지금 인텔 모드(로제타)로 돌고 있는지, 정상적인 애플 실리콘 모드로 돌고 있는지부터 확인해야 합니다. 터미널(Terminal) 앱이나 iTerm2를 열고 아래 명령어를 입력해 보세요.
- 결과가
arm64로 나온다면: 정상적인 애플 실리콘 상태입니다. (하지만 예전에 깔아둔 인텔 버전 Homebrew 찌꺼기가 남아있어 충돌하는 상황입니다.) - 결과가
x86_64로 나온다면: 터미널 앱 자체가 로제타2로 실행되고 있는 상태입니다. 이 설정을 먼저 풀어주어야 합니다.
Finder > 응용 프로그램 > 유틸리티 > 터미널(또는 iTerm) 아이콘 우클릭 > '정보 가져오기' 클릭 > 'Rosetta를 사용하여 열기' 체크 해제 후 터미널을 완전히 껐다가 다시 실행해 주세요.
3. 확실한 해결! 올바른 PATH 설정 명령어 만들기 🛠️
터미널이 arm64로 돌아왔다면, 이제 애플 실리콘 전용 경로인 /opt/homebrew로 PATH(환경변수)를 다시 잡아주면 모든 문제가 해결됩니다. .zshrc 파일에 명령어를 추가해야 하는데요, 터미널 초보자분들을 위해 여러분의 맥북 사용자 이름만 넣으면 완벽한 코드를 만들어주는 생성기를 준비했습니다!
🔧 애플 실리콘 Homebrew PATH 복구 생성기
터미널에 whoami를 쳐서 나오는 여러분의 맥북 사용자 계정명(예: user)을 아래에 입력하세요.
생성된 코드를 실행한 뒤 터미널에 brew --version을 쳤을 때 버전 정보가 잘 뜨면 성공입니다! 혹시라도 기존 인텔 버전 찌꺼기가 계속 엉킨다면, 기존 brew를 완전히 삭제(Uninstall)하고 ARM 전용으로 처음부터 재설치하는 것이 가장 정신 건강에 좋습니다.
4. 심화: 인텔 전용 패키지도 써야 한다면? (듀얼 브류 세팅) 💡
간혹 회사 프로젝트나 특정 라이브러리가 아직 애플 실리콘(ARM)을 지원하지 않아서, 어쩔 수 없이 인텔 기반(x86_64)의 패키지를 깔아야 하는 경우가 있습니다. 이럴 때는 ARM용 brew와 인텔용 brew를 동시에 쓸 수 있는 '듀얼 브류(Dual Brew)' 환경을 구축할 수 있습니다.
.zshrc 파일(또는 .bash_profile)을 열어서 아래와 같이 alias(별칭)를 설정해 두는 꿀팁을 사용해 보세요.
alias brew="/opt/homebrew/bin/brew"
# Rosetta 2를 거치는 인텔용 Homebrew (별칭 ibrew)
alias ibrew="arch -x86_64 /usr/local/bin/brew"
이렇게 세팅해 두면, 평소에는 brew install 패키지명으로 빠르고 네이티브한 패키지를 설치하고, 꼭 인텔 아키텍처가 필요한 옛날 패키지를 깔 때는 ibrew install 패키지명을 치면 알아서 로제타를 통해 인텔 경로에 설치가 됩니다. 진짜 스마트한 방법이죠?
핵심 요약 📝
Apple Silicon Homebrew 오류 해결 카드
/usr/local)과 애플 실리콘(/opt/homebrew) 간의 설치 경로 차이 때문에 발생합니다..zprofile에 추가하여 올바른 ARM 경로를 잡아줍니다.
arch -x86_64를 활용한 ibrew 별칭(alias)을 등록해 사용하세요.자주 묻는 질문 ❓
이 글이 여러분의 소중한 맥북 개발 환경을 쾌적하게 만드는 데 도움이 되었길 바랍니다. 혹시 세팅 과정에서 막히는 부분이나, 추가로 궁금한 점이 있다면 언제든지 편하게 댓글로 물어봐주세요! 즐거운 코딩 라이프 되세요~ 😊