Como atualizar pacotes instalados com o pacote de uso
24
Estou usando use-packagepara instalar e configurar pacotes (a maioria desses pacotes está em melpa). Existe uma maneira limpa e automatizada de manter todos esses pacotes atualizados?
Caso contrário, qual é o melhor fluxo de trabalho nesse caso?
Nota: Uma pergunta muito semelhante aqui com uma resposta, mas eu queria um esclarecimento sobre "Você ainda precisará lidar com a instalação de atualizações". Não pude comentar a resposta para esclarecimento, pois não tenho reputação suficiente.
Eu apenas faço isso manualmente: execute list-packageshit Upara marcar as atualizações disponíveis e depois revise para decidir se há alguma que eu não queira pegar. Então, xpara atualizar. Faço isso com bastante regularidade e frequentemente checo as novidades ao mesmo tempo. Eu tenho alguns ajustes para simplificar isso (veja abaixo).
Suspeito que a atualização possa ser automatizada, mas você deve considerar o caso em que uma atualização quebra algo e precisa fazer o backup e impedir que o atualizador automático instale-a novamente.
Alguns ajustes no menu do pacote:
(defun package-menu-find-marks ()
"Find packages marked for action in *Packages*."
(interactive)
(occur "^[A-Z]"))
;; Only in Emacs 25.1+
(defun package-menu-filter-by-status (status)
"Filter the *Packages* buffer by status."
(interactive
(list (completing-read
"Status: " '("new" "installed" "dependency" "obsolete"))))
(package-menu-filter (concat "status:" status)))
(define-key package-menu-mode-map "s" #'package-menu-filter-by-status)
(define-key package-menu-mode-map "a" #'package-menu-find-marks)
Com isso, posso usar s newapenas para ver quais pacotes estão disponíveis recentemente. E depois de pressionar Upara marcar as atualizações, posso clicar aem uma lista de ocorrências de buffer das que foram marcadas, caso eu queira pesquisar detalhes do que mudou etc.
Obrigado, as perguntas são respondidas principalmente. atrabalhou para descobrir pacotes marcados. No entanto, s installedou qualquer um dos outros três status restantes retorna uma lista vazia.
Jaagrit Sapana
Qual versão do Emacs você está usando?
glucas
Estou usando 24.5.1
Jaagrit Sapana
Ah ok. Eu verifiquei e o package-menu-filtercomando é novo na 25.1, para que o comando não funcione para você.
glucas
Eu faço isso toda segunda-feira de manhã
Ricky Nelson
10
Você pode usar auto-package-updatepara atualizar automaticamente os pacotes.
Existe um pacote altamente recomendado chamado paradoxo que estende os comandos de gerenciamento de pacotes. Leia mais em https://github.com/Malabarba/paradox
Essa configuração alimenta as estatísticas de uso do pacote de volta ao sistema usando um token do github definido separadamente e atualiza os pacotes em segundo plano quando você executa manualmente o comando paradox-upgrade-packagesvinculado às chaves de sua escolha.
Leia a documentação embutida da variável paradox-github-tokensobre como configurá-la.
a
trabalhou para descobrir pacotes marcados. No entanto,s installed
ou qualquer um dos outros três status restantes retorna uma lista vazia.package-menu-filter
comando é novo na 25.1, para que o comando não funcione para você.Você pode usar
auto-package-update
para atualizar automaticamente os pacotes.Copiado da minha outra postagem ( /emacs//a/31903/9972 )
Com essa configuração, os pacotes serão atualizados todos os
4
dias e os pacotes antigos serão removidos.fonte
Tente
epm
manter o processo de atualização limpo.cf. https://github.com/xuchunyang/epm
Ele pode executar o processo de atualização no processo em lote do emacs, sem carregar as configurações normais do init.el.
fonte
Existe um pacote altamente recomendado chamado paradoxo que estende os comandos de gerenciamento de pacotes. Leia mais em https://github.com/Malabarba/paradox
Essa configuração alimenta as estatísticas de uso do pacote de volta ao sistema usando um token do github definido separadamente e atualiza os pacotes em segundo plano quando você executa manualmente o comando paradox-upgrade-packagesvinculado às chaves de sua escolha.
Leia a documentação embutida da variável paradox-github-tokensobre como configurá-la.
fonte
Basta digitar list-packages e pressionar SHIFT + U. Ele marcará todos os pacotes instalados para uma atualização.
fonte