¿Cómo reinstalas un paquete con Homebrew (Mac)?

120

Luchando por encontrar buena documentación de Homebrew (o tutorial) ...

Mientras tanto, necesito reinstalar ImageMagick que se instaló con Homebrew ( brew install imagemagick) y no estoy seguro de si debería primero brew uninstall imagemagicko continuar brew install imagemagick --disable-openmp --forcecon la instalación existente.

¿Qué hace --forcerealmente? ¿Es efectivamente una desinstalación seguida de una nueva instalación con nuevos parámetros?

Meltemi
fuente

Respuestas:

103

La --forceopción para la installacción simplemente sobrescribe cualquier archivo existente en el disco si los paquetes que está intentando instalar ya existen. No elimina archivos del disco como lo hace la uninstallacción.

Haría lo brew uninstall imagemagickprimero antes de hacer un install. Con brewMe parece que el enfoque más simple es a menudo el mejor: quiero reinstalar algo, luego debería eliminarlo primero uninstally volver a colocarlo install. El sandboxing homebrew hace un muy buen trabajo al realizar desinstalaciones limpias de su sistema.

Si quisieras desinstalarlo a mano, solo deberías buscar /usr/local/bincualquier archivo que permanezca ../Cellar/imagemagicky eliminar esos enlaces simbólicos. Luego borra /usr/local/bin/imagemagicky se va. Es posible que le queden algunos paquetes de dependencia que también necesitan ser eliminados, pero el paquete principal de imagemagick habrá sido eliminado. Para ver de qué depende imagemagick si desea realizar más tareas de limpieza:

$ brew info imagemagick
imagemagick 6.7.1-1
http://www.imagemagick.org
Depends on: jpeg, libtiff, little-cms, jasper
Not installed

Some tools will complain unless the ghostscript fonts are installed to:
  /usr/local/share/ghostscript/fonts

http://github.com/mxcl/homebrew/commits/master/Library/Formula/imagemagick.rb
Ian C.
fuente
¡increíble! ¡muy útil! ¡Gracias! +1 y ✔
Meltemi
Parece que no puedo reconstruir (una reconstrucción completa, desde la fuente) un paquete, he tenido este problema desde que tengo uso de brew: gist.github.com/hydrostarr/9766139 . ¿Qué podría estar haciendo mal, en todo caso?
Johnny Utahh
Esto está muy desactualizado. Vea la respuesta a continuación de @Nelson.
Django Reinhardt
1
@DjangoReinhardt a pesar de la apariencia de brew reinstall, todavía creo que es objetivamente mejor hacerlo brew uninstally luego brew installotra vez. Vea la discusión sobre la respuesta de @ Nelson para saber por qué.
Ian C.
128

Homebrew ahora tiene un brew reinstallcomando, agregado en febrero de 2013 . Simplemente hace una desinstalación seguida de una instalación.

Nelson
fuente
8
brew reinstallparece ser bastante peligroso, ya que actualmente no conserva las opciones instaladas.
Aron Ahmadia
8
Siento que en general sería más útil no preservarlos. Un paquete podría romperse debido a sus opciones de instalación, e ignorar aquellos en la reinstalación podría solucionar un problema en algunos casos.
Nick McCurdy
44
¿Puedo volver a instalar con opciones?
ryanwinchester
13
Ambos brew reinstally brew upgradeahora conservan en silencio las opciones previamente especificadas. Lo odio vociferantemente. Idealmente, brewal menos proporcionaría una opción para deshabilitar esta dudosa funcionalidad. No lo hace. El único medio reproducible de reinstalar paquetes es desinstalar y reinstalar manualmente dichos paquetes. El enfoque de estilo indicador de USE de Gentoo de opciones persistentes para un archivo editable (por ejemplo, ~/Library/Homebrew/options.conf) sería muy preferible. Siempre sé exactamente qué opciones quiero, Homebrew. (Pero gracias por tratar de ayudar y fallar.)
Cecil Curry
3
así aprendí una nueva palabra de hoy
cambunctious