Trwa już inny aktywny proces Homebrew


88

Kiedy próbuję to zrobić:

brew install node

Otrzymuję tę wiadomość:

 /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

Masz jakiś pomysł, jak to rozwiązać?

Odpowiedzi:


205

Jeśli powyższa odpowiedź nie rozwiąże problemu, spróbuj usunąć blokady procesu homebrew za pomocą tego polecenia:

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

1
dlaczego nie pozostać bezpieczniejszym dzięki for file in ls * lock ; do mv $file $file.old; done?
izomorfizmy

1
DZIĘKUJEMY, że to było idealne!
lizziepika

Nie jest to wskazane. Błąd dotyczy złych uprawnień; te lockspliki, miał cel i usuwanie to nie najbezpieczniejsza opcja.
Kamafeather

1
Postanowiłem spróbować tego, jeśli druga odpowiedź nie zadziała; Miałem na myśli rozwiązanie @ kalibrain. Musiałem zrobić jedno i drugie.
omikes

47

Jak sugeruje ten wątek w pewnym momencie, moim problemem było uruchomienie polecenia brew z uprawnieniami sudo po raz pierwszy. Powoduje to, że brew próbuje uzyskać dostęp do uprzywilejowanych plików i folderów i kończy się to niepowodzeniem. Jeśli tak jest w Twoim przypadku, uruchom te polecenia i spróbuj ponownie zainstalować węzeł.

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

brew cleanup


Tak, problem wystąpił po przeniesieniu plików do kopii zapasowej, a następnie ich przywróceniu. Właściciel plików został ustawiony na nieznany identyfikator GID; przywrócenie z chownprzywróciło całą funkcjonalność bez błędów.
Kamafeather

Upewnij się również, że uprawnienia są naprawione za pomocą ls -la /usr/local/. Jeśli tak nie jest, spróbuj dodać gwiazdkę, aby zasugerować wszystkie pliki podrzędne (np sudo chown -R "$USER":admin /usr/local/*.).
Kamafeather


12

Po prostu wpisz w terminalu:

brew cleanup

To powinno rozwiązać wszelkie problemy. Postępuj zgodnie z poleceniem:

brew doctor

Gotowe.


9

W moim przypadku na OSX przerwałem instalację węzła, a następnie próbuję ponownie uruchomić węzeł instalacyjny, więc otrzymałem błąd wspomniany w pytaniu.
Wypróbowałem poniższe kroki z innych odpowiedzi:

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

brew cleanup

i

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

ale ten komunikat pojawia się ponownie - więc nie wiem, czy powyższe kroki pomogły.

Następnie zamknąłem kartę terminala i uruchomiłem nowy

brew install -v node

Pomyślna instalacja węzła zajęła 11 minut


1
na macOS jest bezpieczniejsze sudo chown -R "$USER":admin /usr/local/*. Bez gwiazdek nie uzyskałem poprawnego rozszerzenia, a większość pod-plików / -folderów nie została dotknięta przez polecenie.
Kamafeather

3

Zmiana uprawnień do pliku pozwoli uniknąć tego błędu:

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

W przypadku problemów z uprawnieniami podczas instalacji lub aktualizacji homebrew:

Zmień ustawienie uprawnień homebrew

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

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

Następnie uruchom instalację lub aktualizację homebrew


Zmiana uprawnień /usr/local/Homebrewi /usr/local/var/homebrewwłaśnie to mi pomogła
brigadir

0

Nie wiem, co się działo. Mój jedyny aktywny terminal czekał na wejście, żadne zadania nie działały w tle. Właśnie próbowałem uruchomić instalację RVM, która się nie powiodła i poprosiłem mnie o zaktualizowanie Homebrew, ale miało to zostać zakończone, ponieważ terminal czekał na dane wejściowe. Po kilku powtórzeniach wywołań poleceń i kilka minut później przestałem otrzymywać wiadomość.

To jest w systemie Mac OSX 10.13.6 z 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)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.