Como reparar e / ou reinstalar o Homebrew com segurança?

14

Estou tentando reparar o Homebrew.

Recentemente, tentei reinstalá-lo, mas quando digitei "brew doctor"

Minha saída foi:

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
chdir: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
The current working directory doesn't exist, cannot proceed.

Eu tentei reinstalá-lo digitando isso na linha de comando novamente:

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

Mas minha saída é:

It appears Homebrew is already installed. If your intent is to reinstall you
should do the following before running this installer again:
rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

Como posso corrigir minha instalação do Homebrew?

AndrewMRiv
fonte
3
Por que você não lê sua saída? Isso vai explicar muito bem.
jherran
A partir de hoje, tenho o mesmo problema descrito no post original. Sinto que isso começou logo após a atualização do OS X para 10.11.2 pela App Store. Independentemente de quais parâmetros são passados ​​para a distribuição, seja 'médico', 'limpeza' etc. etc., todos produzem a mesma saída. Pelo menos a instrução "limpeza de café" não pode, portanto, ser seguida. Isso pode ter sido causado pelo SIP do OS X? Alguém tem outras idéias?
Axel Kirch
Bem-vindo ao perguntar diferente. existem duas opções - você pode fazer uma pergunta de acompanhamento mostrando os resultados do rm comando ou podemos votar / promover isso com edições. Além disso - você pode perguntar - como posso saber se o SIP está afetando uma tarefa específica. isso é responsável e parece um pouco além do escopo desta pergunta, então ficarei feliz em responder isso para você em outro lugar. A resposta é quase certamente "não" no caso de homebrew.
bmike

Respostas:

17

Por que você não faz o que diz?

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

A primeira linha excluirá o homebrew completamente e você poderá reinstalá-lo.

NOTA: Se você fizer isso, precisará reinstalar todas as coisas que instalou via homebrew.

Gabriel Littman
fonte
Obrigado. Por alguma razão, quando eu "instalei o php54 --with-fpm --with-imap --without-apache --with-debug", ele estava me dando o primeiro erro de saída do meu post. Quando tentei usar o "ruby -e" $ (curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install ) "", deu-me o segundo erro de saída. Reiniciar meu computador e fazer o que você me disse para fazer realmente ajudou. Obrigado!
18715 AndrewMRiv
Se estiver usando o rvm, ele falha com algum erro de ruby ​​"imagem não encontrada"; Certifique-se de usar o sys ruby:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
tutuDujuju
16

Isso aconteceu comigo porque eu tinha duas guias abertas no meu console. No Console AI, removemos o diretório de trabalho atual do Console B. Em seguida, sem pensar nisso, executei o brew upgradeConsole B. É claro que ocorreu o erro acima.

Solução simples: apenas cdpara um diretório diferente no Console B e brew upgradenovamente.

Eu e minha infinita sabedoria.

RobertAKARobin
fonte
2
Essa é a resposta correta.
Tamas Kalman
1
Oh, minha palavra - possivelmente tendo que reinstalar tudo em modo de preparação antes de fazer o CD para um diretório diferente. Sim, esta deve ser a resposta correta.
21419 DanSingerman
0

Se na instalação do homebrew você também instalou as ferramentas XCode no seu mac, basta fechar a janela do terminal e abrir uma nova :)

Colton Hicks
fonte