⚠️ 오류발생 | no such file or directory: /opt/homebrew/bin/brew

noopy·2021년 8월 29일
2

⚠️ 오류발생

목록 보기
2/3
post-thumbnail

어느 날 부턴가 터미널에 /opt/homebrew/bin/brew 디렉토리가
없다는 명령어가 뜨기 시작했다.
.zprofile:1: no such file or directory:/opt/homebrew/bin/brew

원인

원인을 알아보니 m1 맥북 초기에 homebrew를 완전히 지원하지 않았을 때
로제타로 인텔 버전을 다운 받았을 경우,
구 버전(user/local/bin/brew)의 디렉토리에서
신 버전(/opt/homebrew/bin/brew)을 찾기 때문에 발생하는 오류 문구
같았다.

30분의 고전 끝에 해결방안을 찾았다.

나의 경우 기존 로제타 버전으로 쓰고 있었고,
단순히 삭제했다 신버전을 깔아도 계속 구버전으로 PATH가 설정되었다.
또 -p 옵션으로 path를 설정해주니 그 다음부턴
permission denied: /opt/homebrew/bin/brew
이 문구가 떴다.
(아무리 권한 설정해도 해결 안됨. 우선 순위에서 밀려난듯

해결방안

기존 homebrew 삭제

  1. 설치했던 패키지 리스트들을 백업한다.
    /usr/local/homebrew/bin/brew bundle dump

  2. 기존 homebrew 삭제
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

새 버전 설치

  1. 설치 전에 디렉토리를 만들고 권한 설정
    sudo mkdir -p /opt/homebrew
    sudo chown -R ${whoami} /opt/homebrew
    $(whoami) 👈🏻 이부분 그대로 치면 됨

  2. opt로 이동 후 새 homebrew 설치
    cd /opt
    curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

  3. 환경 변수 설정
    vi ~/.zshrc
    export PATH="/opt/homebrew/bin:$PATH"
    vim으로 들어가면 비어있을 것이다.
    i를 통해 입력모드로 전환하자.
    환경 변수를 다 입력하면 esc로 입력모드 종료 후 : 누른 후 wq!로 저장해주면 된다.

⚠️ can't open file for writing 오류 발생 시

쓰기 권한이 없을 때 생기는 오류.

  1. 첫번째 시도
    :w !sudo tee % > /dev/null

여전히 안된다면

  1. q!를 통해 종료해주면 왜인지 모르게 환경변수가 올바르게 설정되어 있다.
    :q!

  2. 환경 변수 확인
    which brew 했을 때 opt/homebrew/bin/brew 로 잘 나온다면 성공!

⚠️ command not found: rbenv 오류 발생 시

  1. 그냥 설치
    brew install rbenv

Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)
뜬다면 로제타 2 관련 오류

  1. brew 앞에 arch -arm64 붙이기
    arch -arm64 brew install rbenv

👍

참고사이트

profile
💪🏻 아는 걸 설명할 줄 아는 개발자 되기

1개의 댓글

comment-user-thumbnail
2023년 1월 2일

덕분에 수월하게 수정했습니다. 감사합니다~!

답글 달기