Estos días estoy configurando mi Emacs para programar en Scala y voy a intentar ir documentando todos los pasos que vaya haciendo y lo que vaya descubriendo, porque la verdad es que la documentación que he encontrado sólo consiste en explicar la instalación, pero el uso tienes que investigarlo tú mismo.

En este post no voy a contar nada de Scala, pero está relacionado con un problema que me he encontrado y quería documentar como lo he solucionado.

Al arrancar Scala Metals flycheck da un problema porque necesita la última versión para funcionar, pero la última versión no está en el repostirio de melpa-stable, así que no hay forma de instalarlo por defecto, aunque lo busques en el listado de paquetes sólo va a aparecer el de melpa-stable. Pues así es como he conseguido solucionarlo.

Fijando un repositorio para un paquete de emacs

Cuando definimos los repositorios que queremos usar para descargar los paquetes de emacs podemos fijarles una prioridad a cada uno, el problema es que cuando encuentra un paquete en el primero ya el resto los ignora, así que como en mi caso, y en el de la mayoría de la gente, el repositorio con mas prioridad es melpa-stable no podremos seleccionar paquetes de melpa porque no los podremos ver en el listado y el instalador de paquetes siempre resolverá en stable

Cuando en nuestra configuración usamos use-package tenemos varios parámetros que podemos definir, uno de ellos es pin. En mi caso el único paquete que quiero poder usar de un repositorio diferente al primero es flycheck así que lo he configurado de la siguiente manera:

  (use-package flycheck
    :ensure t
    :pin melpa
    )

Si refrescamos el listado de paquetes ahora podremos ver un nuevo flycheck que no está instalado y si nos fijamos corresponde al del repositorio melpa así que ahora solo nos queda instalarlo y poder usar el paquete en su última version, eso sí, puede que ahora no se estable, pero a veces es un riesgo que hay que correr si queremos que todo funcione correctamente.