Como corrigir o brew após a atualização do OSX para o Yosemite?

181

Eu enfrentei algum problema com o Homebrew. Eu atualizei para Yosemite. Após a atualização, o homebrew parece estar quebrado.

Gostaria de executar qualquer comando brew e receber esse erro

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0

Como resolver isso?

Ranjith Ramachandra
fonte
Acabei de atualizar do Mac OS X 10.8 para 10.10 (Yosemite) e o homebrew funciona bem após a atualização. Esse problema foi corrigido ou havia algo diferente na atualização do meu sistema operacional em comparação com todos os outros que postaram aqui.
Yitz

Respostas:

239

Eu decidi procurar isso e descobri que há um problema . O problema está encerrado, mas não é possível simplesmente executar brew updateporque você ainda receberá o mesmo erro.

Então, aqui está o que você precisa fazer:

cd /usr/local/Library
git pull origin master

Caso você tenha alterações no diretório (/ usr / local / Library), o git pull gerará um erro. Nesse caso, você terá que buscar o ramo principal e configurá-lo à força como mestre:

git fetch --all
git reset --hard origin/master

Isso atualizará seu homebrew e você poderá usar o brew novamente.

Se você instalou o Homebrew como um usuário não root, será necessário cdem /Users/yourusername/homebrew/Libraryvez de /usr/local/Library.

Ranjith Ramachandra
fonte
20
ainda uma outra razão Eu adoro ter um gerenciador de pacotes construída sobre git :)
spinlock
3
Exatamente. Amor software que simplesmente funciona a partir da fonte e atualizável através git pull
Ranjith Ramachandra
7
Estranho, eu estou recebendo este fatal: Não é um repositório git (ou qualquer um dos diretórios pai): .git
Gabriel R.
2
Estou recebendo este erro:error: cannot open .git/FETCH_HEAD: Permission denied
sixty4bit 25/11
6
Tentesudo git pull origin master
Ranjith Ramachandra
48

Encontrei esta solução :

Esse link descreve bem, mas, caso o link ocorra, eis o que você precisa fazer: Digite estes comandos no seu Terminal:

cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8
Elias Zamaria
fonte
2
Ao contrário da resposta aceita, isso realmente funcionou.
Paul
Esta é a única coisa que funcionou para mim em 10.10.3
usuário
Também funciona para 10.10.4
Ralfonso
Abortar Erro: Falha ao executar: git pull-q refs origem / heads / mestre: refs / remotes / origin / master
itsazzad
Isso funcionou para mim, embora houvesse também um outro passo a tomar: stackoverflow.com/questions/26501126/...
JussiR
22

A versão e o local do Ruby foram alterados com a nova versão do Mac OS X.

Para corrigir isso de maneira genérica, edite /usr/local/Library/brew.rb.

Na primeira linha, substitua 1.8por Current, ou seja, de:

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0 

para:

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
Gabriel R.
fonte
Isso é interrompido brew updateporque agora você tem uma alteração não confirmada.
Cameron Price-Austin
1
... mas para fazer isso brew updateé necessário aplicar a correção que eu sugeri. Eu nunca usei brew updateaté agora, então nem tive o repo inicializado. Não me lembro de como eu o instalei.
Gabriel R.
3

Se você corrigir o problema do ruby ​​e, em seguida, encontrar um problema em que o sistema pensa que você está executando o tigre ou uma versão anterior, a correção está aqui.

Drux
fonte
1

Tentei pela primeira vez a resposta mais bem classificada e, em seguida, encontrei outro problema . Depois disso, eu meio que desisti de corrigi-lo, porque eu tinha apenas alguns pacotes instalados. Talvez outros também estejam neste barco.

Embora essas sejam todas excelentes respostas, para mim foi mais simples reinstalar o brew.

Primeiro, executei as instruções em:

http://brew.sh/

o que me levou a desinstalar primeiro e imprimiu uma linha de comando. Eu executei essa linha de comando para desinstalar, reinstalei e estava tudo bem.

Não quero imprimir os comandos específicos, pois eles tendem a mudar um pouco à medida que a configuração ajusta como as coisas são instaladas.

dpb
fonte