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/local는 root: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.