package – Cómo cargar solo un subconjunto de paquetes instalados

Pregunta:

Me encontré con un error que implicaba una interacción entre varios paquetes. Para informar del error, necesito proporcionar una receta reproducible que ilustre el problema. Esto requiere cargar los paquetes apropiados, pero nada más de mi init y ningún otro paquete. ¿Cuál es la mejor manera de hacer esto?

ACTUALIZAR

Para aclarar, estoy familiarizado con el concepto de examinar mi .emacs en una búsqueda binaria para identificar el código que causa un problema. En esta situación, sé exactamente qué paquetes ya están causando el problema. Lo que no sé, es cómo utilizar el package- sistema para cargar sólo aquellos pocos paquetes.

(package-initialize) cargará los paquetes, pero también todo lo demás en mi directorio .emacs.d/elpa . package-load-list me permite especificar versiones particulares de paquetes para cargar, o paquetes particulares para excluir explícitamente. Necesito lo contrario: cómo proporcionar a Emacs una lista de paquetes para incluir , sin cargar ningún otro paquete en el sistema elpa / package.

Respuesta:

La variable package-load-list se puede usar para especificar con precisión qué paquetes y versiones cargar:

List of packages for `package-initialize' to load.
Each element in this list should be a list (NAME VERSION), or the
symbol `all'.  The symbol `all' says to load the latest installed
versions of all packages not specified by other elements.

For an element (NAME VERSION), NAME is a package name (a symbol).
VERSION should be t, a string, or nil.
If VERSION is t, the most recent version is activated.
If VERSION is a string, only that version is ever loaded.
 Any other version, even if newer, is silently ignored.
 Hence, the package is "held" at that version.
If VERSION is nil, the package is not loaded (it is "disabled").

Lo único que hay que tener en cuenta es que el valor predeterminado incluye all , si lo setq , estará bien porque sobrescribe completamente el valor original.

(require 'package)
(setq package-load-list
      '((package1 "4.2")
        (package2 "0.5.1")))
(package-initialize)

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım