Ein weiterer aktiver Homebrew-Prozess ist bereits im Gange


89

Wenn ich das versuche:

brew install node

Ich bekomme diese Nachricht:

 /usr/local/Homebrew/Library/Homebrew/utils/lock.sh: line 19: /usr/local/var/homebrew/locks/update: Permission denied
-e:1:in `initialize': Bad file descriptor (Errno::EBADF)
    from -e:1:in `new'
    from -e:1:in `<main>'
Error: Another active Homebrew process is already in progress.
Please wait for it to finish or terminate it to continue.
Error: Permission denied - /usr/local/var/homebrew/locks/node.brewing

Irgendeine Idee, wie man das löst?

Antworten:


209

Wenn die obige Antwort Ihr Problem nicht behebt, entfernen Sie die Homebrew-Prozesssperren mit diesem Befehl:

rm -rf /usr/local/var/homebrew/locks

1
Warum nicht mit for file in ls * lock sicherer bleiben ; do mv $file $file.old; done?
Isomorphismen

1
DANKE das war perfekt!
lizziepika

Dies ist nicht ratsam. Der Fehler liegt in den falschen Berechtigungen. Die locksDateien hatten einen Zweck und das Löschen ist nicht die sicherste Option.
Kamafeather

1
Ich habe angegeben, dies zu versuchen, wenn die andere Antwort nicht funktioniert hat. Ich bezog mich auf die Lösung von @ kalibrain. Ich musste beides tun.
Omikes

47

Wie dieser Thread irgendwann andeutet, bestand mein Problem darin, den Befehl Brew zum ersten Mal mit Sudo-Berechtigungen auszuführen. Dies führt dazu, dass Brew versucht, auf privilegierte Dateien und Ordner zuzugreifen, und dies schlägt fehl. Wenn dies bei Ihnen der Fall ist, führen Sie diese Befehle aus und versuchen Sie erneut, den Knoten zu installieren.

sudo chown -R "$USER":admin /usr/local

brew cleanup


Ja, das Problem trat auf, nachdem Dateien für eine Sicherung verschoben und anschließend wiederhergestellt wurden. Der Dateieigentümer wurde auf eine unbekannte GID festgelegt. Das Wiederherstellen mit chownbrachte alle Funktionen ohne Fehler zurück.
Kamafeather

Stellen Sie außerdem sicher, dass die Berechtigungen mit festgelegt sind ls -la /usr/local/. Wenn dies nicht der Fall ist, versuchen Sie, ein Sternchen hinzuzufügen, um alle Unterdateien (wie sudo chown -R "$USER":admin /usr/local/*) zu implizieren .
Kamafeather

22

Schließen Sie einfach das Terminal und öffnen Sie ein anderes erneut


Dies funktioniert möglicherweise nur in einigen Fällen. Der Grund dafür ist, dass beim Schließen des Terminals die auf dem /usr/local/var/homebrew/locksPfad erstellte Sperre möglicherweise nicht entfernt werden kann . Daher sehen Sie beim nächsten Start brew updateden Fehler, der in dieser Frage angegeben ist
Eranga Heshan

14

Geben Sie einfach Folgendes in Ihr Terminal ein:

brew cleanup

Dies sollte alle Probleme beseitigen. Folgen Sie dem Befehl mit:

brew doctor

Alles erledigt.


9

In meinem Fall unter OSX habe ich die Knoteninstallation unterbrochen und dann versucht, die Installation des Knotens erneut zu starten, damit der in der Frage erwähnte Fehler angezeigt wird.
Ich habe unten Schritte aus anderen Antworten versucht:

sudo chown -R "$USER":admin /usr/local

brew cleanup

und

rm -rf /usr/local/var/homebrew/locks

Diese Meldung wird jedoch erneut angezeigt. Sie wissen also nicht, ob die oben genannten Schritte hilfreich waren.

Dann habe ich die Terminal-Registerkarte geschlossen und in neuem lief

brew install -v node

Es dauerte 11 Minuten, bis die Knoteninstallation erfolgreich abgeschlossen war


1
unter macOS ist sicherer zu tun sudo chown -R "$USER":admin /usr/local/*. Ohne die Sternchen habe ich keine korrekte Erweiterung erhalten und die meisten Unterdateien / -ordner wurden vom Befehl nicht berührt.
Kamafeather

3

Durch Ändern der Dateiberechtigung wird dieser Fehler vermieden:

sudo chown <your-username>:admin /usr/local/Homebrew/Library/Homebrew/utils/lock.sh

Bei Berechtigungsproblemen bei der Installation oder Aktualisierung von Homebrew:

Ändern Sie Ihre Homebrew-Berechtigungseinstellung

sudo chown -R <your-username>:admin /usr/local/Homebrew

sudo chown -R <your-username>:admin /usr/local/var/homebrew

Führen Sie dann die Homebrew-Installation oder das Update aus


Das Ändern der Berechtigungen für /usr/local/Homebrewund /usr/local/var/homebrewgenau das hat mir geholfen
Brigadir

0

Ich weiß nicht, was los war. Mein einziges aktives Terminal wartete auf Eingabe, im Hintergrund wurden keine Jobs ausgeführt. Ich hatte gerade versucht, eine fehlgeschlagene RVM-Installation auszuführen, und mich gebeten, Homebrew zu aktualisieren, aber das sollte abgeschlossen sein, da das Terminal auf die Eingabe wartete. Nach mehreren wiederholten Befehlsaufrufen und ein paar Minuten später erhielt ich keine Nachricht mehr.

Dies ist unter Mac OSX 10.13.6 mit iTerm2.

⋊> brew --version
Homebrew 2.1.4
Homebrew/homebrew-core (git revision 97b15a; last commit 2019-06-07)
Homebrew/homebrew-cask (git revision 2a010; last commit 2019-06-07)
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.