programing

OSX의 홈브루에서 "cannot load the file --utils/open"을 방지하는 방법

batch 2023. 5. 31. 18:30
반응형

OSX의 홈브루에서 "cannot load the file --utils/open"을 방지하는 방법

실행할 때 오류가 발생합니다.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/Homebrew
git reset --hard origin/master
brew update

한다면/usr/local/Library/Homebrew작동하지 않습니다. 시도해 보십시오./usr/local/Homebrew문제는 홈브루가 구식이라는 것입니다.

2021년 4월 업데이트

위의 명령어는 이번 GitHub 호에서 설명한 바와 같이 macOS High Sierra 이상에서는 작동하지 않습니다.대신 이 작업을 실행해야 합니다.

sudo chown -R $(whoami) $(brew --prefix)/*

먼저 터미널 세션을 열고 다음을 실행합니다.

cd /usr/local/
git status

홈브루가 깨끗한지 확인하려고요

더러워진 경우 실행:

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

홈브루 제거:

 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/ - thanks benjaminsila

저의 경우 다음을 사용하여 Homebrew의 실행 파일을 제거하기만 하면 되었습니다.

sudo rm -f `which brew`

그런 다음 Homebrew를 다시 설치합니다.

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

엘 캐피탄으로 업데이트한 후,/usr/local가지다root:wheel권리

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

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

그리고:

brew doctor && brew update

이것은 제가 홈브루를 다시 일하게 하는 데 도움이 되었습니다.

처음에 실행한 것:

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

그러면:

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

이 문제는 Homebrew의 최신 버전에서 해결되어야 합니다.홈브루 홈 페이지에 설명되어 있는 재설치를 시도합니다.

저는 당신이 C 시스템 라이브러리인 popen에 대한 헤더 파일이 누락된 것처럼 느껴집니다.

명령줄 도구로 xcode를 설치하고 라이센스를 수락했는지 확인합니다.

자세한 내용은 다음 스레드를 참조하십시오.Xcode 명령줄 도구를 설치하는 방법

Homebrew 설정을 복원하려면 다음을 시도합니다.

cd /usr/local/Homebrew/Library && git stash && git clean -d -f && git reset --hard && git pull

언급URL : https://stackoverflow.com/questions/24652996/how-to-avoid-cannot-load-such-file-utils-popen-from-homebrew-on-osx

반응형