¿Cómo instalar una versión específica del paquete?

7

Cuando lo hago M-x package-install RET magit, instala la última versión de magit que es 2.1.0.

Quiero instalar magit 1.4.2. No quiero hacerlo manualmente descargando y cargando el paquete.

Por ejemplo, si estoy descargando un paquete de Python, puedo especificar el número de versión durante la instalación.

pip install django==1.8

¿Cómo puedo hacer algo así e instalar magit=1.4.2?

ChillarAnand
fuente
1
AFAIK, Melpa no se ocupa de lanzamientos oficiales, y en realidad no está obteniendo la versión 2.1.0: está obteniendo el último código (quizás inestable) del repositorio de origen, que probablemente se referirá a sí mismo como 2.1.0 si no ha habido un lanzamiento oficial posterior, pero que no es el mismo código que esa versión oficial. Use un repositorio de paquetes diferente si desea lanzamientos oficiales (pruebe Marmalade o Melpa-Stable).
PHILS
@phils ¿Hay alguna forma de instalar una versión anterior de melpa stable?
ChillarAnand
No estoy viendo una manera obvia, me temo. En este escenario, el mantenedor podría tener que registrar un segundo paquete (por ejemplo, magit-1.xvs magit-2.x). Sospecho que tendrá que usar un enfoque alternativo para la instalación. Sin embargo, no estoy muy familiarizado con el administrador de paquetes, por lo que alguien más puede conocerlo mejor.
PHILS

Respuestas:

12

No puede instalar una versión anterior de un paquete en nuestra infraestructura actual. A pesar de que el administrador de paquetes integrado de Emacs ahora admite múltiples versiones de un paquete en versiones recientes, ningún archivo de paquete popular (es decir, MELPA Stable y Marmalade) en realidad mantiene una acumulación de versiones anteriores.

Emacs no admitió esto durante mucho tiempo, y ahora que lo hace, la demanda de esta característica parece ser bastante baja, ya que generalmente es para versiones versionadas, considerando que MELPA Stable es mucho menos popular que MELPA. Notablemente, ninguno se ha ofrecido voluntario para trabajar en una acumulación de lanzamientos para MELPA Stable, y en consecuencia hay poco incentivo para que los encargados del mantenimiento lo implementen.

Tendrá que descargar, compilar e instalar el paquete usted mismo. QUELPA con una receta personalizada para Magit probablemente ayudará aquí.


fuente
1
¿Sigue siendo el caso, cuatro años después, que no es posible instalar una versión histórica de MELPA estable? Si es así, ¿cómo evitan las personas que las malas versiones de MELPA rompan sus configuraciones completas de emacs en cada máquina que usan?
Tom Ellis
@TomEllis No lo sé, pero uhm, ¿por qué no te enteras? Es bastante fácil, ¿no?
1
No estoy seguro de entender. Este es un sitio de preguntas y respuestas y estoy preguntando si la pregunta que se hizo originalmente tiene una nueva respuesta (y explicando por qué uno podría querer una nueva respuesta). ¿Cómo sugeriría que lo averigüe por mí mismo, a menos que pregunte aquí?
Tom Ellis
@TomEllis Sin ofender, pero usted realmente puede verificar el contenido del archivo de paquetes de MELPA usted mismo, por ejemplo, a través M-x list-packagesde Emacs. Si encuentra que mi respuesta necesita una actualización, siéntase libre de proponer una edición después.
5

Puede usar el-get para instalar cualquier revisión específica de cualquier paquete, desde un repositorio de git.

(el-get-bundle git-timemachine
  :checkout "3.0")

Esto clonará git-timemachine de github y checkout tag 3.0 y requerirá git-timemachine.

lorefnon
fuente
¿Esta característica todavía es compatible? He intentado instalar una versión anterior de Magit (su versión actual no es compatible emacs 24 más) ejecutando los siguientes: (el-get-bundle! magit :checkout "2.90.0") en cero búfer, y solo recibió mensajes de error(error "El-get can not find a recipe for package \"package\"")
Menuhin
Funciona sin el signo de exclamación: (el-get-bundle magit :checkout "2.90.0") modifique su respuesta. Gracias.
menuhin