Come forzare homebrew ad aggiornare il software installato?


13

Ho pianobar installato e sto provando ad aggiornarlo usando brew update pianobar. Ho anche provato, brew update pianobar --forcema questo non ha avuto alcun effetto. Dice che ho delle modifiche locali, ma non sono sicuro di come dirle per sovrascriverle.

From http://github.com/mxcl/homebrew
 * branch            master     -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
    Library/Formula/android-ndk.rb
    Library/Formula/android-sdk.rb
    Library/Formula/center-im.rb
    Library/Formula/putty.rb
    Library/Formula/python.rb
    ... (lines removed) ...
    Library/Formula/upx.rb
    Library/Formula/vimpager.rb
    Library/Homebrew/cmd/doctor.rb
Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
    Library/Formula/tth.rb
Please move or remove them before you can merge.
Updating 45bc7ad..36f4400
Aborting
Error: Failed while executing git pull http://github.com/mxcl/homebrew.git master

2
Penso che devi usare upgrade. updateè per l'aggiornamento delle formule.
Felix,

Risposte:


14

Non so perché questo accada con Homebrew quando non fai nulla per rovinarlo, ma ecco come l'ho risolto:

  1. Passare alla directory della cantina Homebrew cd `brew --cellar`
  2. Reimposta repository git git reset --hard HEAD
  3. Aggiorna pianobar, finalmente! brew upgrade pianobar

Cordiali saluti, brew updateaggiornerà Homebrew all'ultima versione, quindi potresti voler farlo prima del passaggio 3.


ha fatto 1-3 e ha funzionato come previsto, grazie! ma poi quando provo ad eseguire pianobar dice Login... Error: Protocol incompatible. Please upgrade libpiano.: qualche pensiero? anche quando ho provato brew updateottengo l'errore: I seguenti file dell'albero di lavoro non tracciati verrebbero sovrascritti da merge: Library / Formula / tth.rb. Errore: errore durante l'esecuzione di git pull github.com/mxcl/homebrew.git master - mi dispiace di essere un nuovo utente di homebrew e non sono sicuro di cosa stia facendo.
Cwd,

1
Ah, cavolo, rendi la vita così divertente !. Da cd `brew --prefix`allora git clean -fpoi provare brew update. Per quanto riguarda il problema di Pianobar, proverei brew upgrade libpianodopo, ma non lo sto usando, quindi non ne sono certo.
swrobel,

ha funzionato, grazie mille per tutto l'aiuto! a quanto pare la versione di libpiano che è in uscita non è ancora abbastanza nuova, dato che sto ancora ricevendo l'errore anche se dice che tutto è aggiornato.
Cwd,

Felice di aiutare. Ho appena installato pianobar e funziona per me. So che Pandora ha aggiornato di recente il protocollo, ma sembra che la versione Pianobar di Homebrew sia aggiornata. Il mio è 2011.09.22, qual è il tuo? Dovrebbe apparire sulla prima riga dopo aver eseguito pianobar.
swrobel,

2

Come diceva @Felix, upgradenon usare update.

Se il problema proviene dal tuo albero git sporco e vuoi solo dimenticare le tue modifiche, digita git reset --hard HEADprima di aggiornare.


non succede nulla quando provo che ... brew upgrade pianobar -vdà Kernel.exit
cwd il

cosa ottieni quando corri type -a brew?
Robert S Ciaccio,

brew is / usr / local / bin / brew
cwd

0

Questa è una risposta generale, non specifica per il tuo pianobarproblema.

Per aggiornare il software installato, primo aggiornamento brew: brew update

e quindi aggiorna il software installato: brew upgrade

Per impedire l'aggiornamento del software, fare brew pin YOUR-PACKAGE-HERE

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.