Mi archivo ~/.emacs
(que puede encontrar en GitHub ) carga varios paquetes diferentes de Emacs y me gustaría que se instalen automáticamente tan pronto como se inicie Emacs, si aún no están instalados. De esta manera, si tengo que reinstalar mi sistema operativo Ubuntu 16.04 nuevamente, no tendré que instalar cada paquete yo mismo manualmente M-x package-install
. ¿Hay alguna manera de escribir un ~/.emacs
archivo para que instale automáticamente todos los paquetes cargados al inicio? Me gustaría que esto se haga con el mínimo de líneas, ya que tengo más de diez paquetes diferentes cargados, por lo que si tengo que agregar líneas adicionales para cada paquete individual, será ~/.emacs
bastante largo.
9
use-package
, como hago en la línea 61 de mi archivo .emacs?package-install-selected-packages
(requiere Emacs 25.1).~/.emacs
archivo se "alargue". Pero si solo está cargando una docena de paquetes, ¿está realmente preocupado por las 11 líneas adicionales en su configuración?Respuestas:
La forma más fácil es instalar
use-package
.Entonces
Esto
:ensure t
es lo que asegura que el paquete esté instalado.Para cargar solo, asegúrese de instalar varios paquetes
fuente
package.el
realiza un seguimiento de los paquetes que solicitó instalar (a diferencia de los que se instalan automáticamente como dependencias) en la variable personalizadapackage-selected-packages
.Entonces, si copia su
~/.emacs
(en el que Custom normalmente escribe configuraciones como la depackage-selected-packages
) a otro sistema, todo lo que debe hacer esM-x package-install-selected-packages
.Por supuesto, esto no instala automáticamente los paquetes si están ausentes, pero lo considero una característica (creo que es un error que un programa como Emacs realice conexiones de red sin una solicitud explícita de hacerlo). Y le ahorra la molestia de instalar cada paquete uno por uno.
fuente
(package-refresh-contents)
debe invocarse una vez antes(package-install-selected-packages)
cuando falta por completo el directorio del paquete local, de modo que los directorios del archivo de distribución de paquetes se almacenen primero en los subdirectorios de suarchive/
directorio.