OSX의 Homebrew에서“이러한 파일을로드 할 수 없습니다 — utils / popen”을 피하는 방법


327

brew터미널에서 실행할 때 오류가 발생 합니다.

 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- utils/popen (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/utils.rb:6:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/global.rb:9:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/brew.rb:16:in `<main>'

이것들은 나의 보석 설정입니다 :

- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
  - ruby
  - universal-darwin-13
- GEM PATHS:
  - /Library/Ruby/Gems/2.0.0
  - /Users/ronaldkwan/.gem/ruby/2.0.0
  - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
- GEM CONFIGURATION:
  - :update_sources => true
  - :verbose => true
  - :backtrace => false
  - :bulk_threshold => 1000

1
정보를 추가 할 수 있습니까? 정확히 어떤 명령을 실행 했습니까?
Unihedron

방금 유닉스에 "brew"를 입력했습니다
kerokero

달리면 어떻게 brew doctor되나요?
grenierm5

같은 오류. 여기 내 환경 보석 설정입니다
kerokero

루비 설치가 완료되지 않은 것 같습니다. 다른 루비 설치를 다시 설치하거나 사용하십시오.
gorootde

답변:


803

이 문제는 주로 OS X를 El Capitan (OS X 10.11) 또는 macOS Sierra (macOS 10.12)로 업데이트 한 후에 발생합니다.

이는 El Capitan 이상의 macOS의 새로운 SIP 프로세스 와 관련된 파일 권한 문제 때문입니다 . /usr/local디렉토리 의 권한을 변경하십시오 .

$ sudo chown -R $(whoami):admin /usr/local  

여전히 작동하지 않으면 터미널 세션 내에서 다음 단계를 사용하면 모든 것이 정상입니다.

cd /usr/local/Library/Homebrew  
git reset --hard  
git clean -df
brew update

홈 브루가 업데이트되지 않았기 때문일 수 있습니다.


39
El Capitan 업데이트로 인해 문제가 발생했습니다. 이것은 문제를 해결했다. 감사.
Vivek

4
El Capitan으로 업그레이드하면 권한이 먼저 재설정되고 git 명령을 실행하고 업데이트가 이루어졌습니다. 감사.
Bob

4
El Capitan으로 업그레이드 한 후이 문제가 발생하면 정답입니다. :)
chemic

3
macOS Sierra로 업그레이드 한 후이 문제가 발생했습니다 . 이것으로 고맙습니다! 그러나 권한을 변경할 /usr/local필요는 없습니다. "Homebrew는 더 이상 / usr / local의 소유권을 가질 필요가 없습니다. 원하는 경우 다음 /usr/local을 사용하여 기본 소유권으로 돌아갈 수 있습니다 . sudo chown root:wheel /usr/local"
Bert

5
두 번째 방법은 저에게 효과적이었습니다. HOMEBREW디렉토리가 어디에 있는지 찾아야했습니다 . 내 경우 :/usr/local/Library/Homebrew
Alexander

378

먼저 터미널 세션을 열고 다음을 실행하십시오.

cd /usr/local/
git status

Homebrew가 깨끗한 지 확인하십시오.

더러워지면 다음을 실행하십시오.

git reset --hard && git clean -df

그때

brew doctor
brew update

여전히 손상된 경우 세션에서 다음을 시도하십시오.

sudo rm /System/Library/Frameworks/Ruby.framework/Versions/Current
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/1.8 /System/Library/Frameworks/Ruby.framework/Versions/Current

이렇게하면 Homebrew가 시스템 설치에서 Ruby 1.8을 사용하게됩니다.


7
아마도 좋은 대답이지만 BTW 두 명령을 모두 실행할 때 다른 오류가 발생합니다 (누군가이 추가 시나리오를 다루고 싶은 경우 언급합니다).
PandaWood

4
새로운 버전으로 homebrew를 다시 설치하고 작동하기 시작했습니다. 설치 링크로 homebrew 홈페이지를 확인하십시오. 시도 할 때 homebrew가 이미 설치되어 있음을 알리고 제거 방법을 알려줍니다.
pertz

따라서 제거 / 다시 설치하면 Homebrew가 다시 작동합니다. 또한 기본적으로 시스템을 손상시켜 설치된 모든 것을 삭제했습니다. 훌륭한 해결책은 아닙니다.
Evan Knowles

루비에 오류가 발생하고 RVM을 rvm use system사용하는 경우 실행시 Mac OS X의 루비를 사용하고 있는지 확인하십시오brew update
DavidJ

최신 버전의 OS X에서 기본 Ruby는 1.8이 아니라 2.0입니다.
bfontaine

82

homebrew 제거 :

 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

그런 다음 다시 설치

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

경고 :이 스크립트는 다음을 제거합니다. / Library / Caches / Homebrew / -thks benjaminsila


1
Homebrew를 제거한 다음 다시 설치합니다. 문제가 해결되었습니다. @OsTa ruby ​​-e "$ (curl -fsSL raw.githubusercontent.com/Homebrew/install/master/uninstall )"경고 :이 스크립트는 다음을 제거합니다. / Library / Caches / Homebrew /
BenJaminSila

3
일종의 샷건 접근 방식이지만 파일 권한을 관리하는 것보다 훨씬 쉽게 작동했습니다 ...
BenKarl

1
나를 위해 일했습니다 10.12 (Sierra)로 업그레이드 된 시스템에서 제거 / 재설치 후 'brew doctor'를 실행할 수 있었고 거기에 지시 사항을 따라 몇 가지 권한 문제를 해결했습니다. 지금 잘 작동
codesponge

하드 드라이브 충돌 후 기본 git 리포지토리가 손상되어 git reset이 작동하지 않는 동안 un- / reinstalling이 수행되었습니다. 그러나 설치된 패키지를 모두 다시 설치해야했습니다.
bsumirak

26

제 경우에는 다음을 사용하여 Homebrew의 실행 파일 을 제거 해야했습니다 .

sudo rm -f `which brew`

그런 다음 Homebrew를 다시 설치하십시오 .

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2
brew install / uninstall 루프 에서이 문제가 발생한
fortm

이 메시지가 두 번째 명령 (오류가 아니라 잘못되었다는 표시 인 것 같습니다)을 시도 했습니까? - / usr / 지방이다 빈 지하실 CODEOFCONDUCT.md CONTRIBUTING.md 등 프레임 워크 자식의 현재 내용은 라이브러리 LICENSE.TXT lib에는 포함 Qt4.7 README.md 점유율 옵트 SUPPORTERS.md VAR .git .gitignore
PandaWood

@ 팬더 우드 아니, 난하지 않았다. 주석에 '이 메시지'로 묘사 한 오류 메시지의 내용은 무엇입니까?
Inanc Gumus

@deeperx "-"뒤의 모든 것. 결국, 나는 brew를 제거하고 다시 설치해야했다
PandaWood

@PandaWood 올바른 쉼표를 사용하십니까? 여기에 직접 붙여 넣기 할 수 있습니까?
Inanc Gumus

24

El Capitan으로 업데이트 한 후에 /usr/localroot:wheel권리가 있습니다.

다음을 사용하여 사용자에게 권한을 다시 변경하십시오.

sudo chown -R $(whoami):admin /usr/local

과:

brew doctor && brew update

이를 통해 Homebrew를 다시 작동시킬 수있었습니다.


2
꽤 위험하지 않습니까?
FRAGA

/usr/local보안상의 이유로 OS에서 사용 권한 이 변경되었으므로 "이전과 같이 권한을 반환했다"고해서 좋은 방법은 아닙니다.
leanne 2018 년

8

먼저 나는 실행했다 :

sudo chown -R $(whoami):admin /usr/local

그때:

cd $(brew --prefix) && git fetch origin && git reset --hard origin/master

1
참고로, Homebrew 설치가 완료 /usr/local/Homebrew/되었으므로를 사용해야했습니다 cd $(brew --prefix)/Homebrew.
Joshua Pinter

3

이 문제는 최신 버전의 Homebrew에서 수정되어야합니다. Homebrew 홈 페이지 에 설명 된대로 다시 설치 하십시오.


1

나에게 C 시스템 라이브러리 인 popen에 대한 헤더 파일이 누락 된 것 같습니다.

명령 행 도구로 xcode가 성공적으로 설치되었고 라이센스에 동의했는지 확인하십시오.

자세한 정보는이 스레드를 참조하십시오. Xcode 명령 행 도구를 설치하는 방법


0

Homebrew 설정을 복원하려면 다음을 시도하십시오.

cd /usr/local/Homebrew/Library && git stash && git clean -d -f && git reset --hard && git pull
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.