Come aggiorno una formula con Homebrew?


164

Come aggiorno una formula?

Ho corso brew update. Quindi, in esecuzione brew outdated, genera:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

Pertanto, mongodbè obsoleto.

Come lo aggiorno? Devo solo disinstallare e quindi installare?

Risposte:


242

Penso che il modo corretto di fare sia

brew upgrade mongodb

Aggiornerà la formula di mongodb. Se vuoi aggiornare tutte le formule obsolete, semplicemente

aggiornamento birra


Questo è davvero il modo corretto ora . I vecchi metodi funzioneranno comunque se si usa append --force.
mxcl,

Quando eseguo "brew upgrade <nomepacchetto>", aggiorno effettivamente tutti i pacchetti obsoleti, impiegando ore anziché secondi. Questo è un pessimo design. Il modo corretto di "SOLO aggiornare un singolo pacchetto" è "brew install <nomepacchetto>", che è di nuovo un design confuso.
xuancong84

58

Puoi aggiornare tutti i pacchetti obsoleti in questo modo:

brew install `brew outdated`

o

brew outdated | xargs brew install

o

brew upgrade

Questo è dal sito della birra ..

per l'aggiornamento della formula individuale:

brew install formula-name && brew cleanup formula-name

Cosa fa la pulizia?
siti

3
Penso che ora posso semplicemente digitare brew upgrade outdatede saltare tutte le stronzate complesse.
Warren P

4
o semplicementebrew upgrade
CharlieMezak,

20

Per prima cosa dovrai aggiornare le formule locali

brew update

e quindi aggiornare il pacchetto facendo

brew upgrade formula-name

Un esempio sarebbe se volessi aggiornare mongodb , farei qualcosa del genere, supponendo che mongodb fosse già installato:

brew update && brew upgrade mongodb && brew cleanup mongodb

11

Bene, l'ho appena fatto

brew install mongodb

e ha seguito le istruzioni che sono state emesse STDOUTdopo aver terminato l'installazione e che sembra aver funzionato bene. Immagino che in qualche modo funzioni make installe sovrascriva (aggiorna) un'installazione precedente.


9
Brew installa mongodb in $HOMEBREW_PREFIX/Cellar/mongodb/<version>/, quindi molto probabilmente hai installato entrambe le versioni. Quindi collega simbolicamente l'ultima versione a $HOMEBREW_PREFIX/bin, ecc. L'esecuzione brew cleanup mongodbeliminerà la versione precedente.
mipadi,

2

Non è possibile utilizzare brew install per aggiornare una formula installata. Se desideri aggiornare tutte le formule obsolete, puoi utilizzare il comando seguente.

brew outdated | xargs brew upgrade

Spiega meglio la tua soluzione, per essere utile agli altri utenti SO. Pubblicare solo codice non è una buona pratica qui.
Massimiliano Kraus,

0

Preferisco aggiornare tutte le formule homebrew e le formule cask homebrew .

Ho aggiunto una funzione shell Bourne al mio ambiente per questo (carico un .bashrc)

function updatebrew() {
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)
}
  • set -x per trasparenza: in modo che il terminale emetta tutto ciò che Homebrew sta facendo in background.
  • brew update per aggiornare le formule homebrew
  • brew cleanup per rimuovere qualsiasi modifica rimasta dopo l'installazione
  • brew cask upgrade --greedyinstallerà tutte le botti; sia quelli con informazioni sulla versione che quelli senza
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.