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

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



답변

이 문제는 주로 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

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


답변

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

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을 사용하게됩니다.


답변

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


답변

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

sudo rm -f `which brew`

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

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


답변

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

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

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

과:

brew doctor && brew update

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


답변

먼저 나는 실행했다 :

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

그때:

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


답변

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