Uso Homebrew Cask para instalar aplicaciones en OS X. ¿Cómo actualizo todos los barriles instalados?
macos
homebrew
homebrew-cask
enrico.bacis
fuente
fuente
~/Library/Application Support/Brackets/extensions/user
, y estas deberían persistir en las actualizaciones. De hecho, los complementos del sistema se almacenan dentro del paquete de la aplicaciónBrackets.app/extensions/default
y se pierden cuando reemplaza el paquete de la aplicación, pero la forma más sencilla sería copiar los complementos del paquete anterior al nuevo.brew cask upgrade
15 commits combinados en Homebrew: masterbrew cask uninstall my-cool-cask
entoncesbrew cask install my-cool-cask
.Respuestas:
¡Ahora finalmente hay un mecanismo de actualización oficial para Homebrew Cask (vea el número 3396 para la implementación)! Para usarlo, simplemente ejecute este comando:
brew cask upgrade
Sin embargo, esto no actualizará los barriles que no tengan información de versiones (
version :latest
) o aplicaciones que tengan un mecanismo de actualización incorporado (auto_updates true
). Para reinstalar estos barriles (y, en consecuencia, actualizarlos si hay actualizaciones disponibles), ejecute el comando de actualización con el--greedy
indicador como este:brew cask upgrade --greedy
fuente
brew cask outdated | xargs brew cask reinstall
solo para reinstalar barriles obsoletos.brew cask outdated
solo imprime los nombres de las aplicaciones que no tienen habilitada la "actualización automática". Para actualizar TODAS las aplicaciones que están desactualizadas, usebrew cask outdated --greedy --verbose | grep -v '(latest)' | awk '{print $1}' | xargs brew cask reinstall
homebrew-cask-upgrade
Creo que esta es, con mucho, la mejor solución para actualizar los barriles.
fuente: https://github.com/buo/homebrew-cask-upgrade
Instalación y uso
(Opcional) Fuerce la actualización de aplicaciones desactualizadas, incluidas las marcadas como más recientes:
fuente
Es posible enumerar los barriles instalados con:
Y forzar la reinstalación de un barril con:
Así que canalizando la salida del primer comando al segundo, actualizamos todos los barriles:
fuente
Bash script para actualizar paquetes
inspirado en la respuesta de Pascal
Que hace
brew cask info
versión más nuevafuente: https://gist.github.com/atais/9c72e469b1cbec35c7c430ce03de2a6b
un forro para impacientes:
guardar como
/usr/local/bin/cask-upgrade
, para que pueda ejecutarlo localmente máscask-upgrade
tardefuente
brew cask info $cask | grep "Not installed"
?$ brew cask info $cask | grep "Not installed"
da el errorError: This command requires a Cask token
for cask in ${casks[@]}; do
smacks head
¡obviamente! No puedo creer que no haya entendido eso.A partir de diciembre de 2017 uso: actualización de brew cask
[DEPRECADO desde diciembre de 2017 cuando Homebrew introdujo el comando de actualización para barrica] Simplemente uso lo siguiente:
fuente
awk '{print $1}'
entre los dos.Aquí está la función que he escrito para manejar esto. Tenga en cuenta que personalmente no quería que solo reinstalara ciegamente todo, ya que algunos de los barriles que uso tardan un tiempo en instalarse o requieren indicaciones adicionales.
fuente
Basado en la respuesta de @Atais, he mejorado su lógica en algo más agradable. Quería una forma de inspeccionar los paquetes que se actualizaron primero, antes de forzar la actualización.
$ brew-cask.sh
solo enumera una salida similar a la de Homebrewbrew update
.✔
indica las actualizaciones pendientes.$ brew-cask.sh upgrade
forzará la actualización de esos paquetes.Código:
simplemente instálelo (también conocido como "¡Lo necesito ahora!")
Está registrado en mi
.dotfiles
repositorio ; por lo tanto, puede instalarlo rápidamente en su~/bin
con:Luego úsalo así:
Si no tiene
~/bin
en su camino, prefijo~/bin/
a las declaraciones anteriores.fuente
brew cask upgrade
El
upgrade
comando se ha introducido recientemente en Homebrew Cask y debe desaprobar todos los demás métodos manuales descritos en las otras respuestas.fuente
Creo que usando
Hará el truco. Esto también ayudará a eliminar las versiones anteriores de la aplicación e instalará la versión más reciente.
fuente
brew cask reinstall `brew cask outdated`
mejorando el código proporcionado por deinspanjer, traté de imitar un comando noop, muy parecido al de chocolatey ( actualización de choco --noop / choco desactualizado ).
https://git.io/vgjiL
Como se puede ver, estoy usando un enfoque modular ya que mi caso de uso difiere un poco. No quiero sentarme frente a mi computadora y escribir sí / no para cada aplicación que haya instalado. Si bien no hay una forma real de actualizar los barriles (solo reinstalar la versión más reciente), primero preparo la actualización para tener la información de que realmente hay actualizaciones disponibles .
A continuación, recorro todos los barriles para mostrar su información. Debido a que preparé la actualización antes, ahora se proporciona una con la información de que la última versión de cask no está instalada.
Dentro de mi método de actualización, en realidad analizo el comando de información para esa línea específica:
Lo que se traduce en: "Proporcione las 3 líneas anteriores de la información proporcionada cada vez que lea la línea" no instalada ". Luego elimine cualquier línea que tenga un enlace, también elimine una línea que tenga un ':' en ella".
Dada la estructura del comando de información brew cask, terminamos con una línea (sin información de versión, sin URL de aplicación), que refleja el nombre real del barril con el que también se instaló.
salida de información de barril de cerveza
En mi versión, esta información ahora se imprime para que uno pueda ver fácilmente qué barriles están desactualizados y podrían actualizarse.
En este punto hago un caso de cambio, porque tal vez en este momento no hay suficiente tiempo para actualizar las cosas. Depende de su caso de uso. Para mí, a veces solo quiero ver qué hay de nuevo (esperando una nueva versión, una corrección de errores) pero en realidad no tengo tiempo para actualizar las cosas porque en este momento no quiero cerrar mi navegador, etc.
Por lo tanto, si uno opta por "sí", la lista de nombres limpios de los barriles se proporciona a la función de actualización donde se emite la reinstalación de cada barril que se determinó que estaba desactualizado.
Gracias de nuevo a deinspanjer, mientras trataba de resolver este problema por mí mismo, siempre olvidé emitir una actualización de preparación de antemano, por lo que no había una línea "no instalada" para analizar realmente (la base de todo mi enfoque).
Espero que esto haya sido útil.
fuente
Hice tal guión por mí mismo. Mire el github https://github.com/pesh1983/brew_cask_upgrade . Tiene una descripción bastante buena, pero si tiene alguna pregunta adicional, no dude en preguntarme. Realiza una actualización justa: desinstala e instala, por lo que cualquier limpieza necesaria será realizada por 'brew'.
fuente
fuente
obtener barriles obsoletos:
barril de actualización:
script de demostración:
fuente
Verifique los barriles obsoletos:
Actualización de todos los barriles obsoletos:
Si desea actualizar un barril específico, simplemente agregue el nombre del barril después de la actualización (por ejemplo: 4k-video-downloader):
fuente
Según lo que he leído, he creado un script que creará un archivo que enumera los archivos que se actualizarán, incluidas las aplicaciones que se definen como las más recientes. Luego puede modificar el archivo para adaptarlo a sus requisitos e instalar actualizaciones utilizando mi script olinst.
Para más información visita mi github.
https://github.com/pacav69/caskroom-offline-install
fuente
Esto realmente me molestó, así que creé este script para actualizar todas las aplicaciones Brew y permitir al usuario elegir qué aplicaciones Cask actualizar. También puede excluir las aplicaciones de la consideración.
https://github.com/derrekyoung/ScriptsAndUtils/blob/master/brew-cask-upgrade.sh
fuente
yo suelo
fuente