Come riparare la birra dopo l'aggiornamento OSX a Yosemite?


181

Ho riscontrato qualche problema con Homebrew. Ho aggiornato a Yosemite. Dopo l'aggiornamento, l'homebrew sembra essere rotto.

Vorrei eseguire qualsiasi comando brew e ottenere questo errore

/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

Come risolverlo?


Ho appena effettuato l'aggiornamento da Mac OS X 10.8 a 10.10 (Yosemite) e l'homebrew funziona bene dopo l'aggiornamento. O questo problema è stato risolto, o c'era qualcosa di diverso nel mio aggiornamento del sistema operativo rispetto a tutti gli altri postati qui.
Yitz

Risposte:


239

Ho deciso di cercare questo e ho scoperto che c'è un problema . Il problema è chiuso ma non è possibile eseguirlo semplicemente brew updateperché si otterrà comunque lo stesso errore.

Quindi, ecco cosa devi fare:

cd /usr/local/Library
git pull origin master

In caso di modifiche nella directory (/ usr / local / Library), git pull genererà un errore. In tal caso, dovrai recuperare il ramo principale e impostarlo forzatamente come principale:

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

Questo aggiornerà il tuo homebrew e potrai riutilizzare la birra.

Se si è installato Homebrew come utente non root, è necessario cdal /Users/yourusername/homebrew/Libraryposto di /usr/local/Library.


20
un'altra ragione per cui adoro avere un gestore di pacchetti basato su git :)
spinlock,

3
Esattamente. Adoro software che funziona semplicemente dalla fonte e aggiornabile tramite git pull
Ranjith Ramachandra,

7
Strano, sto diventando fatale: non un repository git (o nessuna delle directory principali): .git
Gabriel R.

2
Ricevo questo errore:error: cannot open .git/FETCH_HEAD: Permission denied
sixty4bit,

6
Provasudo git pull origin master
Ranjith Ramachandra,

48

Ho trovato questa soluzione :

Quel collegamento lo descrive bene, ma nel caso in cui il collegamento si interrompa, ecco cosa devi fare: Digita questi comandi nel tuo Terminale:

cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8

2
A differenza della risposta accettata, questo ha funzionato.
Paul,

Questa è l'unica cosa che ha funzionato per me il 10.10.3
utente il

Funziona anche per il 10.10.4
Ralfonso il

Errore di interruzione: errore durante l'esecuzione: git pull -q origin refs / heads / master:
refs

Questo ha funzionato per me, anche se c'era anche un altro passo da compiere: stackoverflow.com/questions/26501126/...
JussiR

22

La versione e la posizione di Ruby sono cambiate con la nuova versione di Mac OS X.

Per risolvere questo problema in modo generico, modifica /usr/local/Library/brew.rb.

Nella prima riga, sostituire 1.8con Current, ovvero da:

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

a:

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

Questo si interrompe brew updateperché ora hai una modifica non impegnata.
pricj004,

1
... ma per fare brew updateuno bisogna applicare la correzione che ho suggerito. Non ho mai usato brew updatefino ad ora, quindi non avevo nemmeno inizializzato il repository. Non ricordo come l'ho nemmeno installato.
Gabriel R.,

3

Se risolvi il problema ruby ​​e poi colpisci un problema in cui ti viene detto che il sistema pensa che tu stia eseguendo Tiger o una versione precedente, la correzione per questo è qui


1

Ho prima provato la risposta più votata e poi ho toccato un altro problema . Dopodiché ho rinunciato a ripararlo dato che avevo installato solo un paio di pacchetti. Forse anche altri sono su questa barca.

Mentre queste sono tutte risposte eccellenti, per me è stato più semplice reinstallare birra.

Innanzitutto, ho eseguito le istruzioni su:

http://brew.sh/

che mi ha diretto alla prima disinstallazione e ha stampato una riga di comando. Ho eseguito quella riga di comando per disinstallarlo, quindi reinstallarlo e tutto andava bene.

Non voglio stampare i comandi specifici, poiché tendono a cambiare un po 'mentre la birra regola il modo in cui le cose sono installate.

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.