Outro processo Homebrew ativo já está em andamento


88

Quando tento fazer isso:

brew install node

Eu recebo esta mensagem:

 /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

Alguma ideia de como resolver isso?

Respostas:


205

Se a resposta acima não resolver seu problema, tente remover os bloqueios do processo homebrew com este comando:

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

1
por que não ficar mais seguro com o for file in ls * lock ; do mv $file $file.old; done?
isomorfismos

1
OBRIGADO, isso foi perfeito!
lizziepika,

Isso não é aconselhável. O erro está nas permissões erradas; os locksarquivos tinham um propósito e excluí-los não é a opção mais segura.
Kamafeather

1
Especifiquei tentar fazer isso se a outra resposta não funcionasse; Eu estava me referindo à solução de @kalibrain. Eu tive que fazer ambos.
chega em

47

Como este tópico sugere em algum ponto, meu problema era executar o comando brew com privilégios de sudo pela primeira vez. Isso faz com que o brew tente acessar arquivos e pastas privilegiados e falhe. Se for esse o seu caso, execute esses comandos e tente instalar o nó novamente.

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

brew cleanup


Sim, o problema aconteceu depois de mover arquivos para backup e restaurá-los. O proprietário dos arquivos foi definido com um GID desconhecido; restaurar com chowntrouxe de volta todas as funcionalidades sem erros.
Kamafeather

Além disso, certifique-se de que as permissões sejam fixas, com ls -la /usr/local/. Se não forem, tente adicionar um asterisco para indicar todos os subarquivos (como sudo chown -R "$USER":admin /usr/local/*).
Kamafeather


12

Basta digitar o seguinte em seu terminal:

brew cleanup

Isso deve resolver todos os problemas. Siga o comando com:

brew doctor

Tudo feito.


9

No meu caso no OSX, interrompi a instalação do nó e tentei iniciar a instalação do nó novamente, obtive o erro mencionado na pergunta.
Tentei as etapas abaixo de outras respostas:

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

brew cleanup

e

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

mas esta mensagem aparece novamente - então não sei se as etapas acima ajudaram.

Então fechei a guia do terminal e em uma nova executei

brew install -v node

Demorou 11 minutos para terminar a instalação do nó com sucesso


1
no macOS é mais seguro de fazer sudo chown -R "$USER":admin /usr/local/*. Sem os asteriscos, não obtive uma expansão correta e a maioria dos sub-arquivos / pastas não foram tocados pelo comando.
Kamafeather

3

A permissão para alterar o arquivo evitará este erro:

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

Para problemas de permissão com instalação ou atualização do homebrew:

Altere sua configuração de permissão de homebrew

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

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

Em seguida, execute homebrew install ou update


Alterar as permissões /usr/local/Homebrewe /usr/local/var/homebrewfoi exatamente o que me ajudou
brigadir

0

Eu não sei o que estava acontecendo. Meu único terminal ativo estava esperando por uma entrada, nenhum trabalho sendo executado em segundo plano. Eu tinha acabado de tentar executar uma instalação de RVM que falhou e me pediu para atualizar o Homebrew, mas isso deveria estar concluído, pois o terminal estava esperando por uma entrada. Após várias invocações de comandos de repetição e alguns minutos depois, parei de receber a mensagem.

Isso está no Mac OSX 10.13.6 com 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)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.