Un altro processo Homebrew attivo è già in corso


91

Quando provo a fare questo:

brew install node

Ricevo questo messaggio:

 /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

Qualche idea su come risolvere questo problema?

Risposte:


211

Se la risposta precedente non risolve il tuo problema, prova a rimuovere i blocchi del processo homebrew con questo comando:

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

1
perché non rimanere più al sicuro con for file in ls * lock ; do mv $file $file.old; done?
isomorfismi

1
GRAZIE questo è stato perfetto!
lizziepika

Questo non è consigliabile. L'errore è nelle autorizzazioni sbagliate; i locksfile avevano uno scopo e l'eliminazione è non è l'opzione più sicura.
Kamafeather

1
Ho specificato di provare questo se l'altra risposta non ha funzionato; Mi riferivo alla soluzione di @ Kalibrain. Ho dovuto fare entrambe le cose.
omikes

48

Come suggerisce questo thread ad un certo punto, il mio problema era eseguire il comando brew con i privilegi sudo per la prima volta. Ciò fa sì che brew tenti di accedere a file e cartelle privilegiati e non riesce. Se questo è il tuo caso, esegui questi comandi e prova a installare di nuovo node.

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

brew cleanup


Sì, il problema si è verificato dopo aver spostato i file per un backup e averli ripristinati. Il proprietario del file è stato impostato su un GID sconosciuto; ripristinando con chownriportato tutte le funzionalità senza errori.
Kamafeather

Inoltre, assicurati che le autorizzazioni siano corrette, con ls -la /usr/local/. Se non lo sono, prova ad aggiungere un asterisco per indicare tutti i file secondari (come sudo chown -R "$USER":admin /usr/local/*).
Kamafeather

23

basta chiudere il terminale e riaprirne un altro


Questo potrebbe funzionare solo in alcuni casi. Il motivo è che, se chiudi semplicemente il terminale, potrebbe non essere in grado di rimuovere il blocco creato sul /usr/local/var/homebrew/lockspercorso. Quindi, la prossima volta che corri brew updatevedrai l'errore che viene fornito in questa domanda
Eranga Heshan

15

Digita semplicemente quanto segue nel tuo terminale:

brew cleanup

Questo dovrebbe risolvere eventuali problemi. Segui il comando con:

brew doctor

Tutto fatto.


10

Nel mio caso su OSX, ho interrotto l'installazione del nodo e quindi provo ad avviare nuovamente l'installazione del nodo, quindi ho ricevuto l'errore menzionato nella domanda.
Ho provato i seguenti passaggi da altre risposte:

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

brew cleanup

e

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

ma questo messaggio appare di nuovo, quindi non so se i passaggi precedenti hanno aiutato.

Quindi ho chiuso la scheda del terminale e in quella nuova è stata eseguita

brew install -v node

Sono stati necessari 11 minuti per completare correttamente l'installazione del nodo


1
su macOS è più sicuro da fare sudo chown -R "$USER":admin /usr/local/*. Senza gli asterischi non ho ottenuto un'espansione corretta e la maggior parte dei sotto-file / -cartelle non sono stati toccati dal comando.
Kamafeather

3

Modificare l'autorizzazione del file eviterà questo errore:

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

Per problemi di autorizzazione con l'installazione o l'aggiornamento di homebrew:

Modifica l'impostazione dei permessi homebrew

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

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

Quindi esegui installazione o aggiornamento homebrew


La modifica delle autorizzazioni per /usr/local/Homebrewed /usr/local/var/homebrewè esattamente ciò che mi ha aiutato
brigadir

0

Non so cosa stesse succedendo. Il mio unico terminale attivo era in attesa di input, nessun lavoro in esecuzione in background. Avevo appena provato a eseguire un'installazione RVM che non è riuscita e mi ha chiesto di aggiornare Homebrew, ma doveva essere terminata poiché il terminale era in attesa di input. Dopo diverse invocazioni di comandi ripetute e un paio di minuti dopo ho smesso di ricevere il messaggio.

Questo è su Mac OSX 10.13.6 con 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)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.