OSX'te homebrew'dan “böyle bir dosya yüklenemiyor - utils / popen”


327

brewTerminalde çalıştırdığımda bir hata alıyorum :

 /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>'

Bunlar benim mücevher ayarlarım:

- 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
Bilgi ekleyebilir misiniz? Tam olarak hangi komutu çalıştırdın?
Unihedron

Ben sadece unix içine "demlemek" yazdı
kerokero

Koştuğunda ne olur brew doctor?
grenierm5

aynı hata. İşte benim env mücevher ayarları
kerokero

Yakut kurulumunuz eksik görünüyor. Başka bir ruby ​​yüklemesini yeniden yüklemeyi veya kullanmayı deneyin.
14'te gorootde

Yanıtlar:


803

Sorun esas olarak OS X'i El Capitan (OS X 10.11) veya macOS Sierra'ya (macOS 10.12) güncelledikten sonra ortaya çıkar.

Bunun nedeni El Capitan'ın veya sonraki macOS'un yeni SIP işlemiyle ilgili dosya izni sorunlarıdır . /usr/localDizin izinlerini değiştirmeyi deneyin :

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

Hala çalışmıyorsa, terminal oturumunda şu adımları kullanın; her şey yolunda olacaktır:

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

Bunun nedeni homebrew'un güncellenmemiş olması olabilir.


39
El Capitan güncellemesinden kaynaklanan bir sorun yaşadım. Bu sorunu çözdü. Teşekkürler.
Vivek

4
Aynı şekilde, El Capitan'a yükseltme de kırdı, önce izinleri sıfırlamak ve sonra git komutlarını çalıştırmak ve brew güncellemesi çalıştı. Teşekkürler.
Bob

4
El Capitan'a geçtikten sonra bu sorunla karşı karşıya kalırsanız doğru cevap :)
chemic

3
MacOS Sierra'ya yükselttikten sonra bu sorunu yaşadım . Bu çözüldü, teşekkürler! Yine de, /usr/localşu anda izinleri değiştirmek gerekli görünmüyor. "Homebrew artık / usr / local 'a sahip olmak zorunda değil. Dilerseniz /usr/localvarsayılan sahipliğine geri dönebilirsiniz : sudo chown root:wheel /usr/local"
Bert

5
İkinci yöntem benim için çalıştı. Sadece HOMEBREWdizinin nerede olduğunu bulmam gerekiyordu . Benim durumumda:/usr/local/Library/Homebrew
Alexander

378

İlk önce bir terminal oturumu açın ve çalıştırın:

cd /usr/local/
git status

Homebrew'un temiz olup olmadığını görmek için.

Kirliyse, çalıştırın:

git reset --hard && git clean -df

sonra

brew doctor
brew update

Hala bozuksa, oturumunuzda bunu deneyin:

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

Bu Homebrew'u sistemin kurulumundan Ruby 1.8 kullanmaya zorlar.


7
Muhtemelen iyi bir cevap, ama BTW Her iki komutu çalıştırırken başka hatalar alıyorum (kimsenin bu diğer senaryoyu kapsamak istemesi durumunda bahsetmek istiyorum): - rm: /System/Library/Frameworks/Ruby.framework/Versions/Current: Operasyona izin verilmiyor
PandaWood

4
Homebrew'u yeni bir versiyonla tekrar kurdum ve çalışmaya başladı. Yüklemek için bağlantı ile homebrew ana sayfasını kontrol edin ve denediğinizde homebrew'un zaten kurulu olduğundan şikayet edecek ve nasıl kaldırılacağını öğretecektir.
pertz

Yani, kaldırma / yeniden yükleme Homebrew benim için tekrar çalışıyor. Ayrıca yüklediği her şeyi sildi, temelde sistemimi çöpe attı. Harika bir çözüm değil.
Evan Knowles

Ruby ile ilgili hata alıyorsanız ve RVM kullanıyorsanız, çalışırken rvm use systemMac OS X'in brew update
yakutunu

OS X'in son sürümlerinde varsayılan Ruby'nin 1.8 değil, 2.0 olduğunu unutmayın.
bfontaine

82

Homebrew'u kaldır:

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

Sonra yeniden yükle

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

Uyarı: Bu script şunları kaldıracak: / Library / Caches / Homebrew / - thks benjaminsila


1
Homebrew'un kaldırılmasını ve sonra yeniden yüklemesini çalıştırıyorum. Sorun düzeltildi. @OsTa ruby ​​-e "$ (curl -fsSL raw.githubusercontent.com/Homebrew/install/master/uninstall )" Uyarı: Bu komut dosyası kaldırılacak: / Library /
Caches

3
Bir
çeşit

1
Benim için çalıştı 10.12'ye (Sierra) yükseltilmiş bir sistemde, kaldırma / yeniden yükleme işleminden sonra 'demlemek doktoru' çalıştırabildim ve birkaç izin sorununu çözmek için oradaki talimatları izledim. Şimdi iyi çalışıyor
codesponge

Bir sabit disk çökmesinden sonra temel git git depom bozuk ve git reset bu nedenle işe yaramazken, un- / yeniden yükleme yaptı. Ancak, kurulu tüm paketlerimi yeniden yüklemek zorunda kaldım.
bsumirak

26

Benim durumumda sadece Homebrew'un yürütülebilir dosyasını kullanarak şunları kaldırmam gerekiyordu :

sudo rm -f `which brew`

Ardından Homebrew'u yeniden yükleyin :

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


Bu meesage 2 komutunu denediniz mi (bir hata olmasa da bir şeylerin yanlış gittiğinin bir göstergesi gibi görünüyor)? - / usr / local sitesinin şu anki içeriği bin Cellar CODEOFCONDUCT.md CONTRIBUTING.md vb. Frameworks git dahil lib Library LICENSE.txt opt ​​Qt4.7 README.md share SUPPORTERS.md var .git .gitignore
PandaWood

@PandaWood hayır, yapmadım. yorumunuzda 'bu mesajla' açıkladığınız hata mesajının içeriği nedir?
İnanç Gumus

@deeperx "-" dan sonraki her şey. Sonunda,
demlemeyi

@PandaWood Doğru virgül kullanıyor musunuz? Doğrudan buraya yapıştırabilir misiniz?
İnanç Gümüş

24

El Capitan güncelledikten sonra /usr/localsahiptir root:wheelhaklarını.

Aşağıdakileri kullanarak hakları kullanıcıya geri değiştirme:

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

ve:

brew doctor && brew update

Bu Homebrew'un tekrar çalışmasını sağladı.


2
oldukça tehlikeli değil mi?
FRAGA

/usr/localGüvenlik nedeniyle işletim sisteminde izinler değiştirildi - bu nedenle, "daha önce olduğu gibi hakları iade ettiniz", bunun iyi bir şey olduğu anlamına gelmez.
leanne

8

İlk önce idam ettim:

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

Sonra:

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

1
FYI, Homebrew kurulumumdaydı, /usr/local/Homebrew/bu yüzden kullanmak zorunda kaldım cd $(brew --prefix)/Homebrew.
Joshua Pinter

3

Bu sorun Homebrew'un en yeni sürümünde düzeltilmelidir. Homebrew ana sayfasında açıklanan yeniden yüklemeyi deneyin .


1

Bana göre, bir C sistem kütüphanesi olan popen için eksik başlık dosyalarınız var gibi geliyor.

Komut satırı araçlarıyla xcode'u başarılı bir şekilde yükleyip yüklemediğinizi ve lisansı kabul ettiğinizi kontrol edin.

Daha fazla bilgi için bu konuya bakın: Xcode Komut Satırı Araçları nasıl yüklenir


0

Homebrew kurulumunuzu geri yüklemek için şunu deneyin:

cd /usr/local/Homebrew/Library && git stash && git clean -d -f && git reset --hard && git pull
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.