/ usr / local / bin이 / usr / bin보다 앞서도록 PATH 수정


24

brew를 설치하려고하는데 다음 경고가 나타납니다.

Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:

2to3
2to3-2.7
idle
idle2.7
pydoc
pydoc2.7
python
python-config
python2.7
python2.7-config
pythonw
pythonw2.7
smtpd.py
smtpd2.7.py

Consider amending your PATH so that /usr/local/bin
is ahead of /usr/bin in your PATH.

경로를 수정하는 방법을 모르겠습니다. 이 스택 오버플로 게시물 (http://stackoverflow.com/questions/8886114/using-brew-with-ruby-1-9-2)에서 여러 파일을 탐색했지만 편집 할 관련 경로를 찾을 수 없습니다. 내가 가지고있는 유일한 파일은 현재 다음과 같은 내 / etc / profile 파일입니다.

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/2.7/local/bin:${PATH}"
export PATH

파이썬을 제거한 다음 homebrew를 통해 다시 설치하고 싶었지만 한 번에 너무 많은 것들을 깨는 것에 약간 긴장했습니다.

경로를 수정하는 쉬운 방법이 있습니까? .bash_profile 파일을 만들어야합니까? 도움을 주셔서 감사합니다.

답변:


30

예, .bash_profile홈 디렉토리에 파일을 작성 하십시오.

PATH="/usr/local/bin:$PATH"

다음 중 하나를 수행하여 변경 사항을 활성화하십시오.

  • 실행하다 . ~/.bash_profile
  • PATH="/usr/local/bin:$PATH"현재 쉘에서 실행
  • 터미널 재시작

2
@threenovation 만약 위의 답변이 정확하다면, 답변으로 표시하십시오 (답변 옆의 틱을 클릭하십시오)
Stu Wilson

이것이 수출되어야하는지 궁금합니다. 자식 프로세스에도이 새로운 경로가 있어야합니다. 또한 : brew를 설정할 때 / usr / bin이 / usr / local / bin보다 먼저 왔다는 알림이 표시되지 않았습니다.
Steven Lu

@StevenLu, .bash_profile에 도달하면 이미 내보내집니다. 명시 적으로 다시 내보내는 것이 아프지 않지만 필요하지는 않습니다.
glenn jackman

고마워 "시스템이 양조 할 준비가되었습니다."
Vezu

에 중복 된 항목이있는 것 같습니다 $PATH.
flow2k

10

/ usr / local / bin이 / usr / bin 앞에 나열되도록 / etc / paths를 수정해야합니다 . 그렇게하려면 편집기를 sudo해야합니다.

편집기를 여는 방법 중 하나는

 sudo open -t /etc/paths

내 PATH가 내 .bash_profile에서 올바르게 구성되었지만에 없습니다 /etc/paths. 이것은 아름답게 작동했습니다.
Nick Tomlin

7
경로 설정에이 방법을 사용하지 마십시오. 비 터미널 응용 프로그램이 "양조 된"구성 요소를 선택하여 실패 할 위험이 있습니다. "sudo"를 사용하는 것은 당신이하고있는 일을 (특히 Mac Homebrew와 같은 사용자 레벨 개발 시스템에서) 정말로 이해하지 않는 한 위험을 감수해야합니다. .bash_profile을 편집하고 터미널을 다시 시작하면 충분합니다.
rholmes

@rholmes 그렇다면로 변경하면 .bash_profile대화 형 사용자 셸에만 영향 을 주며 다른 응용 프로그램에는 영향 을 미치지 않습니까?
flow2k

1
@ flow2k .bash_profile은 대화식 사용자 셸에 영향을줍니다. 내 보낸 변수는 셸 명령 줄에서 실행 된 응용 프로그램 (예 : "일반"Mac 응용 프로그램 또는 명령 줄 명령 실행)에 표시됩니다. 자세한 내용은 여기에서 찾을 수 있지만 요청한 것보다 세밀하게 구분됩니다. scriptingosx.com/2017/04/about-bash_profile-and-bashrc-on-macos glenn jackman의 답변은 사용하는 것입니다 .
rholmes

1
@ flow2k 예, 당신은 올바르게 언급했습니다.
rholmes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.