카테고리 없음

인텔맥에서 M1맥으로 데이터 이동시 HOMEBREW 문제

nick-p 2025. 7. 24. 21:41

인텔 맥에서 M1 맥으로 데이터를 마이그레이션(데이터 이동)한 것이 Homebrew 문제의 가장 유력한 원인일 수 있습니다.

왜 마이그레이션이 Homebrew 문제를 일으킬까요?

인텔 맥과 M1 (Apple Silicon) 맥은 CPU 아키텍처가 다릅니다.

  • 인텔 맥: x86_64 아키텍처를 사용하며, Homebrew는 기본적으로 /usr/local 경로에 설치됩니다.
  • M1 맥: arm64 아키텍처 (Apple Silicon)를 사용하며, Homebrew는 기본적으로 /opt/homebrew 경로에 설치됩니다.

마이그레이션 도우미(Migration Assistant)를 사용하여 인텔 맥의 데이터를 M1 맥으로 옮기면, /usr/local에 있던 인텔용 Homebrew 설치와 관련된 파일들이 그대로 M1 맥으로 복사됩니다. M1 맥은 기본적으로 /opt/homebrew 경로에 새로운 Apple Silicon용 Homebrew를 설치하려고 하므로, 두 개의 Homebrew 설치가 혼재되면서 충돌이 발생하는 것입니다.

 

네, 인텔 맥에서 M1 맥으로 데이터를 마이그레이션(데이터 이동)한 것이 Homebrew 문제의 가장 유력한 원인일 수 있습니다.

왜 마이그레이션이 Homebrew 문제를 일으킬까요?

인텔 맥과 M1 (Apple Silicon) 맥은 CPU 아키텍처가 다릅니다.

  • 인텔 맥: x86_64 아키텍처를 사용하며, Homebrew는 기본적으로 /usr/local 경로에 설치됩니다.
  • M1 맥: arm64 아키텍처 (Apple Silicon)를 사용하며, Homebrew는 기본적으로 /opt/homebrew 경로에 설치됩니다.

마이그레이션 도우미(Migration Assistant)를 사용하여 인텔 맥의 데이터를 M1 맥으로 옮기면, /usr/local에 있던 인텔용 Homebrew 설치와 관련된 파일들이 그대로 M1 맥으로 복사됩니다. M1 맥은 기본적으로 /opt/homebrew 경로에 새로운 Apple Silicon용 Homebrew를 설치하려고 하므로, 두 개의 Homebrew 설치가 혼재되면서 충돌이 발생하는 것입니다.

이로 인해 brew.sh 스크립트가 예상치 못한 경로에서 파일을 찾거나, 아키텍처가 맞지 않는 바이너리를 실행하려 시도하면서 line 860과 같은 오류가 발생할 수 있습니다.

해결책: Homebrew를 Apple Silicon에 맞게 "정리" 및 "재설치"하기

가장 확실하고 권장되는 방법은 인텔 맥에서 넘어온 Homebrew 흔적을 완전히 제거하고, M1 맥에 맞는 Homebrew를 새로 설치하는 것입니다.

단계 1: 인텔 Homebrew 흔적 제거 (중요!)

M1 맥에서 터미널을 열고 다음 명령어를 실행하여 기존 인텔 Homebrew 설치의 흔적을 제거합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

 

네, 인텔 맥에서 M1 맥으로 데이터를 마이그레이션(데이터 이동)한 것이 Homebrew 문제의 가장 유력한 원인일 수 있습니다.

왜 마이그레이션이 Homebrew 문제를 일으킬까요?

인텔 맥과 M1 (Apple Silicon) 맥은 CPU 아키텍처가 다릅니다.

  • 인텔 맥: x86_64 아키텍처를 사용하며, Homebrew는 기본적으로 /usr/local 경로에 설치됩니다.
  • M1 맥: arm64 아키텍처 (Apple Silicon)를 사용하며, Homebrew는 기본적으로 /opt/homebrew 경로에 설치됩니다.

마이그레이션 도우미(Migration Assistant)를 사용하여 인텔 맥의 데이터를 M1 맥으로 옮기면, /usr/local에 있던 인텔용 Homebrew 설치와 관련된 파일들이 그대로 M1 맥으로 복사됩니다. M1 맥은 기본적으로 /opt/homebrew 경로에 새로운 Apple Silicon용 Homebrew를 설치하려고 하므로, 두 개의 Homebrew 설치가 혼재되면서 충돌이 발생하는 것입니다.

이로 인해 brew.sh 스크립트가 예상치 못한 경로에서 파일을 찾거나, 아키텍처가 맞지 않는 바이너리를 실행하려 시도하면서 line 860과 같은 오류가 발생할 수 있습니다.

해결책: Homebrew를 Apple Silicon에 맞게 "정리" 및 "재설치"하기

가장 확실하고 권장되는 방법은 인텔 맥에서 넘어온 Homebrew 흔적을 완전히 제거하고, M1 맥에 맞는 Homebrew를 새로 설치하는 것입니다.

단계 1: 인텔 Homebrew 흔적 제거 (중요!)

M1 맥에서 터미널을 열고 다음 명령어를 실행하여 기존 인텔 Homebrew 설치의 흔적을 제거합니다.

Bash
 
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

이 명령어가 실행되면, "Would you like to uninstall Homebrew at /usr/local? (y/N)" 과 같이 /usr/local 경로의 Homebrew를 제거할 것인지 묻는 메시지가 나올 것입니다. y를 입력하여 제거를 진행하세요.

주의: 이 과정에서 /usr/local에 Homebrew 외에 다른 중요한 파일이나 심볼릭 링크가 있었다면 함께 제거될 수 있습니다. 일반적으로는 macOS 시스템에서 /usr/local은 사용자가 직접 설치하는 소프트웨어들을 위한 공간이므로 안전하게 제거할 수 있습니다. 하지만 만약을 대비해 중요한 파일이 없는지 확인해볼 수도 있습니다.

단계 2: PATH 환경 변수 정리

이전 인텔 Homebrew의 PATH 설정이 남아있을 수 있습니다. 쉘 설정 파일(예: ~/.zshrc 또는 ~/.bash_profile)을 열어서 /usr/local/bin과 관련된 Homebrew 경로 설정을 찾아 제거하거나 주석 처리하세요.

 

nano ~/.zshrc
# 또는 vi ~/.zshrc
# 또는 vi ~/.bash_porfile

파일 안에서 export PATH="/usr/local/bin:$PATH" 나 eval "$(/usr/local/bin/brew shellenv)" 와 같은 줄을 찾아 삭제하거나 앞에 #을 붙여 주석 처리합니다.

파일을 수정한 후에는 터미널을 닫았다가 다시 열거나 source ~/.zshrc (또는 해당 쉘 설정 파일)를 실행하여 변경 사항을 적용합니다.

단계 3: Apple Silicon용 Homebrew 재설치

이제 M1 맥에 맞는 Homebrew를 새로 설치합니다.

 

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

이 설치 스크립트는 M1 맥 환경을 인식하여 Homebrew를 올바른 경로인 /opt/homebrew에 설치하고, 필요한 PATH 설정을 자동으로 안내해 줄 것입니다. 설치가 완료되면, 안내에 따라 PATH를 추가하는 명령어를 실행하세요. (보통 eval "$(/opt/homebrew/bin/brew shellenv)" 와 유사한 형태입니다.)

단계 4: 설치 확인

새 터미널을 열고 다음 명령어를 실행하여 Homebrew가 정상적으로 설치되었는지 확인합니다.

brew doctor

Your system is ready to brew 메시지가 나오면 성공입니다.

마이그레이션 과정에서 Homebrew 관련 파일들이 꼬여서 발생하는 문제는 매우 흔한 시나리오이므로, 위 단계를 통해 해결될 가능성이 높습니다.