Cómo actualizar paquetes instalados con use-package
24
Estoy usando use-packagepara instalar y configurar paquetes (la mayoría de estos paquetes están en melpa). ¿Existe una manera limpia y automatizada de mantener todos estos paquetes actualizados?
Si no, ¿cuál es el mejor flujo de trabajo en este caso?
Nota: Una pregunta muy similar aquí con una respuesta, pero quería una aclaración sobre "Aún tendrá que lidiar con la instalación de actualizaciones". No pude comentar la respuesta para aclararme, ya que no tengo suficiente reputación.
Solo hago esto manualmente: ejecuta list-packageshit Upara marcar las actualizaciones disponibles, luego reviso para decidir si hay alguna que no quiera recoger. Luego xpara actualizar. Hago esto con bastante regularidad y, a menudo, verifico las novedades al mismo tiempo. Tengo un par de ajustes para simplificar esto (ver más abajo).
Sospecho que la actualización podría automatizarse, pero debe considerar el caso en el que una actualización rompe algo y necesita retrocederlo y luego evitar que su actualizador automático lo instale nuevamente.
Algunos ajustes del menú del paquete:
(defun package-menu-find-marks ()
"Find packages marked for action in *Packages*."
(interactive)
(occur "^[A-Z]"))
;; Only in Emacs 25.1+
(defun package-menu-filter-by-status (status)
"Filter the *Packages* buffer by status."
(interactive
(list (completing-read
"Status: " '("new" "installed" "dependency" "obsolete"))))
(package-menu-filter (concat "status:" status)))
(define-key package-menu-mode-map "s" #'package-menu-filter-by-status)
(define-key package-menu-mode-map "a" #'package-menu-find-marks)
Con esto puedo usar s newpara ver qué paquetes están disponibles recientemente. Y después de Upresionar apara marcar las actualizaciones, puedo presionar para que aparezca una lista de búfer de las que se marcaron, en caso de que desee profundizar en los detalles de lo que cambió, etc.
Gracias, las preguntas se responden principalmente. atrabajó para descubrir paquetes marcados. Sin embargo, s installedo cualquiera de los otros tres estados restantes devuelve una lista vacía.
Jaagrit Sapana
¿Qué versión de Emacs estás usando?
glucas
Estoy usando 24.5.1
Jaagrit Sapana
Ah ok Lo comprobé y el package-menu-filtercomando es nuevo en 25.1, por lo que ese comando no funcionará para usted.
glucas
Hago esto todos los lunes por la mañana
Ricky Nelson
10
Puede usar auto-package-updatepara actualizar paquetes automáticamente.
Hay un paquete altamente recomendado llamado paradoja que extiende los comandos de administración de paquetes. Lea más en https://github.com/Malabarba/paradox
Esta configuración retroalimenta las estadísticas de uso del paquete al sistema utilizando un token github establecido por separado y actualiza los paquetes en segundo plano cuando ejecuta manualmente el comando paradox-upgrade-packagesvinculado a las teclas de su elección.
Lea la documentación en línea de la variable paradox-github-tokensobre cómo configurarla.
a
trabajó para descubrir paquetes marcados. Sin embargo,s installed
o cualquiera de los otros tres estados restantes devuelve una lista vacía.package-menu-filter
comando es nuevo en 25.1, por lo que ese comando no funcionará para usted.Puede usar
auto-package-update
para actualizar paquetes automáticamente.Copiado de mi otra publicación ( /emacs//a/31903/9972 )
Con esa configuración, los paquetes se actualizarán todos los
4
días y se eliminarán los paquetes antiguos.fuente
Intenta
epm
mantener limpio el proceso de actualización.cf. https://github.com/xuchunyang/epm
Puede ejecutar el proceso de actualización dentro del proceso por lotes de emacs, sin cargar la configuración normal de init.el.
fuente
Hay un paquete altamente recomendado llamado paradoja que extiende los comandos de administración de paquetes. Lea más en https://github.com/Malabarba/paradox
Esta configuración retroalimenta las estadísticas de uso del paquete al sistema utilizando un token github establecido por separado y actualiza los paquetes en segundo plano cuando ejecuta manualmente el comando paradox-upgrade-packagesvinculado a las teclas de su elección.
Lea la documentación en línea de la variable paradox-github-tokensobre cómo configurarla.
fuente
Simplemente ingrese list-packages y presione SHIFT + U. Marcará todos los paquetes instalados para una actualización.
fuente