So vermeiden Sie, dass "solche Dateien nicht geladen werden können - utils / popen" von Homebrew unter OSX


327

Beim Ausführen brewim Terminal wird eine Fehlermeldung angezeigt:

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

Dies sind meine Edelsteineinstellungen:

- 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
Können Sie Informationen hinzufügen? Welchen Befehl haben Sie genau ausgeführt?
— Unihedron

Ich habe gerade "
— Brew

Was passiert beim Laufen brew doctor?
— Grenierm5

gleicher Fehler. Hier sind meine
— Env Gem

Ihre Ruby-Installation scheint unvollständig zu sein. Versuchen Sie, eine andere Ruby-Installation neu zu installieren oder zu verwenden.
— Gorootde

Antworten:


803

Das Problem tritt hauptsächlich nach dem Update von OS X auf El Capitan (OS X 10.11) oder macOS Sierra (macOS 10.12) auf.

Dies liegt an Dateiberechtigungsproblemen mit dem neuen SIP-Prozess von El Capitan oder höher macOS . Versuchen Sie, die Berechtigungen für das /usr/localVerzeichnis zu ändern :

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

Wenn es immer noch nicht funktioniert, führen Sie diese Schritte in einer Terminalsitzung aus, und alles wird gut:

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

Dies kann daran liegen, dass Homebrew nicht aktualisiert wird.


39
Ich hatte das Problem durch El Capitan Update verursacht. Dies löste das Problem. Vielen Dank.
— Vivek

4
Gleich hier, Upgrade auf El Capitan brach es, ich musste zuerst die Berechtigungen zurücksetzen und dann die Git-Befehle ausführen und das Brew-Update funktionierte. Vielen Dank.
— Bob

4
Dies ist die richtige Antwort, wenn Sie nach dem Upgrade auf El Capitan mit diesem Problem konfrontiert sind :)
— Chemic

3
Hatte dieses Problem nach dem Upgrade auf macOS Sierra . Das hat es gelöst, danke! Das Ändern der Berechtigungen für /usr/localscheint derzeit jedoch nicht erforderlich zu sein. "Homebrew muss nicht länger Eigentümer von / usr / local sein. Wenn Sie möchten, können Sie /usr/localmit: sudo chown root:wheel /usr/local"
— Bert

5
Die zweite Methode hat bei mir funktioniert. Ich musste nur herausfinden, wo sich das HOMEBREWVerzeichnis befand. In meinem Fall:/usr/local/Library/Homebrew
— Alexander

378

Öffnen Sie zunächst eine Terminalsitzung und führen Sie Folgendes aus:

cd /usr/local/
git status

um zu sehen, ob Homebrew sauber ist.

Wenn es schmutzig ist, führen Sie Folgendes aus:

git reset --hard && git clean -df

dann

brew doctor
brew update

Wenn es immer noch kaputt ist, versuchen Sie dies in Ihrer Sitzung:

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

Dadurch wird Homebrew gezwungen, Ruby 1.8 aus der Systeminstallation zu verwenden.


7
Wahrscheinlich eine gute Antwort, aber übrigens erhalte ich andere Fehler, wenn ich beide Befehle ausführe (ich erwähne, falls jemand dieses weitere Szenario behandeln möchte): - rm: /System/Library/Frameworks/Ruby.framework/Versions/Current: Operation nicht erlaubt
— PandaWood

4
Ich habe Homebrew einfach mit einer neuen Version neu installiert und es hat funktioniert. Überprüfen Sie die Homebrew-Homepage mit dem zu installierenden Link. Wenn Sie es versuchen, wird sich beschweren, dass Homebrew bereits installiert ist, und Sie lernen, wie Sie deinstallieren.
— Pertz

Durch die Deinstallation / Neuinstallation funktionierte Homebrew wieder für mich. Es löschte auch alles, was es installiert hatte, und zerstörte im Grunde mein System. Also keine gute Lösung.
— Evan Knowles

Wenn Sie Fehler mit Ruby erhalten und RVM verwenden, versuchen Sie, eine Ausgabe rvm use systemzu brew update
— erstellen

Beachten Sie, dass der Standard-Ruby in neueren Versionen von OS X 2.0 und nicht 1.8 ist.
— Bfontaine

82

Homebrew deinstallieren:

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

Dann neu installieren

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

Warnung: Dieses Skript entfernt: / Library / Caches / Homebrew / - thks benjaminsila


1
Ich führe eine Deinstallation von Homebrew und dann eine Neuinstallation durch. Das Problem wurde behoben. @OsTa ruby ​​-e "$ (curl -fsSL raw.githubusercontent.com/Homebrew/install/master/uninstall )" Warnung: Dieses Skript entfernt: / Library / Caches / Homebrew /
— BenJaminSila

3
Eine Art Schrotflinten-Ansatz, aber dies funktionierte einfacher als der Versuch, Dateiberechtigungen zu verwalten ...
— BenKarl

1
Arbeitete für mich Auf einem System, das auf 10.12 (Sierra) aktualisiert wurde, konnte ich nach der Deinstallation / Neuinstallation "Brew Doctor" ausführen und befolgte die dortigen Anweisungen, um einige Berechtigungsprobleme zu beheben. Funktioniert jetzt gut
— Codesponge

Nach einem Festplattenabsturz war mein zugrunde liegendes Git-Repository beschädigt, und während das Zurücksetzen von Git daher nicht funktionierte, war die Deinstallation / Neuinstallation nicht möglich. Ich musste jedoch alle meine installierten Pakete neu installieren.
— Bsumirak

26

In meinem Fall musste ich nur die ausführbare Datei von Homebrew entfernen , indem ich :

sudo rm -f `which brew`

Dann neu installieren Homebrew:

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

2
— Wenn

Haben Sie diese Meldung beim Versuch des 2. Befehls erhalten (was ein Hinweis darauf zu sein scheint, dass etwas schief gelaufen ist, aber kein Fehler)? - Der aktuelle Inhalt von / usr / local sind bin Keller CODEOFCONDUCT.md CONTRIBUTING.md etc Frameworks git umfassen lib Bibliothek LICENSE.txt opt Qt4.7 README.md Aktie SUPPORTERS.md var .git .gitignore
— PandaWood

@ PandaWood nein, habe ich nicht. Was ist der Inhalt der Fehlermeldung, die Sie mit "dieser Nachricht" in Ihrem Kommentar darstellen?
— Inanc Gumus

@deeperx Alles nach dem "-". Am Ende musste ich
— Brew

@PandaWood Verwenden Sie korrekte Kommas? Können Sie es hier direkt kopieren und einfügen?
— Inanc Gumus

24

Nach dem Update auf El Capitan /usr/localhat root:wheelRechte.

Ändern Sie die Rechte für den Benutzer zurück mit:

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

und:

brew doctor && brew update

Dies hat mir geholfen, Homebrew wieder zum Laufen zu bringen.


2
ist es nicht ziemlich gefährlich
— FRAGA

Die Berechtigungen für /usr/localwurden aus Sicherheitsgründen im Betriebssystem geändert. Nur weil Sie "Rechte wie zuvor zurückgegeben" haben, bedeutet dies nicht, dass dies eine gute Sache ist.
— Leanne

8

Zuerst habe ich ausgeführt:

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

Dann:

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

1
Zu Ihrer Information, meine Homebrew-Installation war bei, /usr/local/Homebrew/also musste ich verwenden cd $(brew --prefix)/Homebrew.
— Joshua Pinter

3

Dieses Problem sollte in der neuesten Version von Homebrew behoben sein. Versuchen Sie, es neu zu installieren, was auf der Homebrew -Homepage beschrieben ist.


1

Für mich scheint es, als hätten Sie fehlende Header-Dateien für popen, eine C-Systembibliothek.

Überprüfen Sie, ob Sie xcode mit den Befehlszeilentools erfolgreich installiert und die Lizenz akzeptiert haben.

Weitere Informationen finden Sie in diesem Thread: So installieren Sie die Xcode-Befehlszeilentools


0

Gehen Sie folgendermaßen vor, um Ihr Homebrew-Setup wiederherzustellen:

cd /usr/local/Homebrew/Library && git stash && git clean -d -f && git reset --hard && git pull
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.