¿Cómo actualizo una fórmula con Homebrew?


164

¿Cómo actualizo una fórmula?

Me encontré brew update. Luego, corriendo brew outdated, salidas:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

Por lo tanto, mongodbestá desactualizado.

¿Cómo lo actualizo? ¿Acabo de desinstalar y luego instalar?

Respuestas:


242

Creo que la forma correcta de hacerlo es

brew upgrade mongodb

Se actualizará la fórmula mongodb. Si desea actualizar todas las fórmulas desactualizadas, simplemente

actualizar cerveza


Esta es de hecho la forma correcta ahora . Las viejas formas seguirán funcionando si se usa append --force.
mxcl

Cuando ejecuto "brew upgrade <packagename>", en realidad actualiza todos los paquetes obsoletos, lo que lleva horas en lugar de segundos. Ese es un diseño muy malo. La forma correcta de "SOLO actualizar un solo paquete" es "brew install <packagename>", que nuevamente es un diseño confuso.
xuancong84

58

Puede actualizar todos los paquetes obsoletos así:

brew install `brew outdated`

o

brew outdated | xargs brew install

o

brew upgrade

Esto es del sitio de preparación ..

para actualizar la fórmula individual:

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

¿Qué hace la limpieza?
sitios

3
Creo que ahora solo puedo escribir brew upgrade outdatedy omitir toda la basura compleja.
Warren P

44
o simplementebrew upgrade
CharlieMezak

20

Primero deberá actualizar las fórmulas locales haciendo

brew update

y luego actualice el paquete haciendo

brew upgrade formula-name

Un ejemplo sería si quisiera actualizar mongodb , haría algo como esto, suponiendo que mongodb ya estuviera instalado:

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

11

Bueno, acabo de hacer

brew install mongodb

y seguí las instrucciones que se enviaron al STDOUTfinal de la instalación, y parece haber funcionado bien. Supongo que funciona como make instally sobrescribe (actualizaciones) una instalación anterior.


9
Brew instala mongodb $HOMEBREW_PREFIX/Cellar/mongodb/<version>/, por lo que lo más probable es que tenga ambas versiones instaladas. Luego enlaza simbólicamente la última versión $HOMEBREW_PREFIX/bin, etc. La ejecución brew cleanup mongodbeliminará la versión anterior.
mipadi

2

No puede usar brew install para actualizar una fórmula instalada. Si desea actualizar todas las fórmulas desactualizadas, puede usar el siguiente comando.

brew outdated | xargs brew upgrade

Explica mejor tu solución, para ser útil a los demás usuarios de SO. Publicar solo código no es una práctica recomendada aquí.
Massimiliano Kraus

0

Prefiero actualizar todas las fórmulas de homebrew y las fórmulas de homebrew cask .

Agregué una función de shell Bourne a mi entorno para este (cargo un .bashrc)

function updatebrew() {
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)
}
  • set -x para transparencia: para que el terminal muestre lo que Homebrew está haciendo en segundo plano.
  • brew update actualizar fórmulas homebrew
  • brew cleanup para eliminar cualquier cambio que quede después de las instalaciones
  • brew cask upgrade --greedyinstalará todos los barriles; tanto aquellos con información de versiones como aquellos sin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.