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.