Como instalar uma versão específica do pacote?

7

Quando faço M-x package-install RET magitisso instala a versão mais recente do magit, que é 2.1.0.

Eu quero instalar magit 1.4.2. Não quero fazer isso manualmente baixando e carregando o pacote.

Por exemplo, se estou baixando um pacote python, posso especificar o número da versão durante a instalação.

pip install django==1.8

Como posso fazer algo assim e instalar magit=1.4.2?

ChillarAnand
fonte
11
AFAIK, Melpa não lida com lançamentos oficiais, e você não está realmente recebendo a versão 2.1.0 - você está recebendo o código mais recente (talvez instável) do repositório de origem, que provavelmente se referirá a si mesmo como 2.1.0 se não houver um lançamento oficial subseqüente, mas que não seja o mesmo código da versão oficial. Use um repositório de pacotes diferente se você quiser lançamentos oficiais (tente Marmalade ou Melpa-Stable).
phils
@phils Existe uma maneira de instalar uma versão antiga do melpa stable?
ChillarAnand
Não estou vendo uma maneira óbvia, receio. Nesse cenário, o mantenedor pode precisar registrar um segundo pacote (por exemplo, magit-1.xvs magit-2.x). Eu suspeito que você precisará usar uma abordagem alternativa para instalação. No entanto, não estou muito familiarizado com o gerenciador de pacotes, portanto, alguém pode conhecer melhor.
phils

Respostas:

12

Você não pode instalar uma versão anterior de um pacote em nossa infraestrutura atual. Embora o gerenciador de pacotes embutido do Emacs agora suporte várias versões de um pacote em versões recentes, nenhum arquivo de pacote popular (por exemplo, MELPA Stable e Marmalade) realmente mantém um estoque de versões anteriores.

O Emacs não suporta isso há muito tempo e, agora que o faz, a demanda por esse recurso parece ser bastante baixa - como geralmente ocorre em versões, considerando que o MELPA Stable é muito menos popular que o próprio MELPA. Notavelmente, ninguém ainda se ofereceu para trabalhar em uma lista de lançamentos para o MELPA Stable e, consequentemente, há pouco incentivo para os mantenedores implementá-lo.

Você terá que baixar, criar e instalar o pacote sozinho. QUELPA com uma receita personalizada para Magit provavelmente ajudará aqui.


fonte
11
Ainda é o caso, quatro anos depois, de que não é possível instalar uma versão histórica do MELPA estável? Em caso afirmativo, como as pessoas impedem que versões ruins do MELPA quebrem todas as configurações do emacs em todas as máquinas que usam?
Tom Ellis
@ TomEllis eu não sei, mas uhm, por que você não se descobre? É fácil, não é?
11
Eu não tenho certeza se entendi. Este é um site de perguntas e respostas e estou perguntando se a pergunta originalmente tem uma nova resposta (e dando uma justificativa para o motivo de alguém querer uma nova resposta). Como você sugere que eu descubra por mim mesmo, sem perguntar aqui?
Tom Ellis
@ TomEllis Sem querer ofender, você pode apenas verificar o conteúdo do arquivo MELPA, por exemplo, via M-x list-packagesEmacs. Se você achar que minha resposta precisa de uma atualização, sinta-se à vontade para propor uma edição posteriormente.
5

Você pode usar o el-get para instalar qualquer revisão específica de qualquer pacote, a partir de um repositório git.

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

Isso clonará o git-timemachine do github e a checkout tag 3.0 e exigirá o git-timemachine.

lorefnon
fonte
Esse recurso ainda é suportado? Eu tentei instalar uma versão anterior do magit (sua versão atual não suporta emacs 24 mais), executando os seguintes: (el-get-bundle! magit :checkout "2.90.0") em zero buffer, e só tem mensagens de erro(error "El-get can not find a recipe for package \"package\"")
Menuhin
Funciona sem o ponto de exclamação: (el-get-bundle magit :checkout "2.90.0") altere sua resposta. Obrigado.
Menuhin