Uso melpa-stable como repositorio de paquetes adicional, pero uno de los paquetes que me gusta usar (icicles) no está disponible en melpa-stable. ¿Hay alguna forma de configurar package.el para que normalmente use melpa-stable, pero use melpa para un subconjunto específico de paquetes?
package
package-repositories
icicles
Timo Geusch
fuente
fuente
icicles
en Melpa tampoco.Respuestas:
Utilice la opción
package-archive-priorities
que se hizo para este mismo propósito. Para preferir MELPA estable sobre MELPA, agregue lo siguiente a su archivo de inicio:Cuanto mayor sea el número, mayor será la prioridad de un archivo de paquete. Para cualquier paquete que exista en múltiples archivos, el administrador de paquetes de Emacs elige el paquete del archivo con la máxima prioridad e ignora los paquetes en otros archivos, incluso si el número de versión es mayor. Si el paquete existe en dos archivos de la misma prioridad, gana el número de versión superior y, en última instancia, creo que el pedido está incluido
package-archives
.Recomiendo asignar explícitamente una prioridad a todos los archivos, incluido el archivo GNU ELPA predeterminado, para evitar ambigüedades. Aunque los archivos que no están dentro
package-archive-priorities
tienen una prioridad predeterminada de 0, es muy fácil olvidarlo.package-archive-priorities
se introdujo en Emacs 25.1, para versiones anteriores vea la respuesta anterior a continuación:En Emacs 24 no es posible establecer MELPA Stable de manera predeterminada y usar MELPA solo para paquetes específicos de manera general. Sin ningún paquete de personalización, el archivo predeterminado es el archivo que proporciona la versión más alta , que es MELPA. No hay interfaz para cambiar eso.
Sin embargo, a partir de Emacs 24.4, la nueva opción le
package-pinned-packages
permite anclar paquetes individuales a los archivos, pero esto solo le permite implementar el inverso de su requerimiento: Predeterminado a MELPA, y usar MELPA Estable para paquetes específicos.Por lo tanto, actualmente su única opción es completar
package-pinned-packages
todos los paquetes que le gustaría usar, ya sea manualmente o con algún código Emacs Lisp. Tenga en cuenta quepackage-pinned-packages
debe establecerse antes de llamarpackage-refresh-contents
porque la fijación se evalúa al generar el índice del paquete y no al instalar paquetes.Una solución a largo plazo sería
M-x report-emacs-bug
pedirle a los desarrolladores de Emacs que implementen algún tipo de característica de "archivo predeterminado", o pedirle al responsable de los carámbanos que realice lanzamientos etiquetados correctamente para que MELPA Stable pueda construir paquetes estables para él. Sin embargo, ninguno de los dos puede resultar fácil, ya que el primero requiere cambios más grandes en package.el, y el último que los carámbanos se trasladan de EmacsWiki a un repositorio VCS adecuado con etiquetas, lo que supongo que su mantenedor no está dispuesto a hacer, porque si lo fueran, lo habrían hecho hace mucho tiempo.fuente
Aquí tiene una discusión sobre el uso de ambos repositorios en paralelo, por lo que esto debería ser posible con 24.4; ¿ha intentado, por ejemplo, con un defun para actualizar la lista de repositorios, luego paradox-require y finalmente volver a la lista original de repositorios?
fuente