Actualiza paquetes automáticamente y elimina versiones antiguas


12

Soy un poco compulsivo sobre la actualización de paquetes para todos mis sistemas, por lo que me encuentro ejecutando list-packages-> U-> x-> y-> ycasi a diario para actualizar mis paquetes y eliminar versiones antiguas una vez que se completa la actualización. ¿Cómo puedo automatizar este proceso para que al menos tenga que ejecutar una sola función para actualizar, compilar y eliminar mis paquetes? ¿O hay alguna razón por la que tal vez no quiera hacer eso?

Respuestas:


17

Lo siguiente ahora es parte del paquete Paradox. Solo invoca paradox-upgrade-packages.


Esto debería hacerlo.

(defun endless/upgrade ()
  "Upgrade all packages, no questions asked."
  (interactive)
  (save-window-excursion
    (list-packages)
    (package-menu-mark-upgrades)
    (package-menu-execute 'no-query)))

Simplemente verifique qué función llama cada uno de los pasos que enumeró y tírelos dentro de una función interactiva. Normalmente, las (y or n)indicaciones serían un problema, pero package-menu-executeconvenientemente toma un NO-QUERYargumento.


Si todos los paquetes están actualizados, volverá No operations specified.
ChillarAna

3

Puede automatizar esto con Cask . Esto funciona para el desarrollo de paquetes, pero también para la configuración del usuario. La documentación proporciona detalles para configurar esto.

Además, Pallet es útil para mantener su archivo Cask actualizado con los cambios que realice en el búfer * Paquetes *.


+1 Cask + Pallet son geniales (pero no recomiendo usarlos en Windows).
rsenna

Hmm, eso es un problema, porque estoy en Windows la mayor parte del tiempo.
Ryan

@rsenna Gracias por la información. No ejecuto ningún sistema de Windows, así que no sabía que no funcionaban bien.
Kyle Meyer

De hecho, puede usar Cask + Pallet en Windows, con algo de trabajo. Yo era capaz de lograr que mediante el uso de Cygwin, pero recuerdo que era muy lejos de ser fácil ...
rsenna

Cask funcionará bien en Windows una vez que instales Python. Sin embargo, no estoy seguro sobre Pallet ya que no lo he probado. Pero al mirar el repositorio no debería depender de otra cosa que no sea Cask + Emacs.
Jonathan Leech-Pepin

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.