Preocupações com a desinstalação de pacotes


7

Para desinstalar um pacote do Emacs, li que devo excluir a pasta específica da pasta elpa. Como o arquivo .emacs está sendo gravado sozinho quando instalo um pacote, isso significa que ele também será excluído quando eu desinstalar um pacote ou devo excluir entradas específicas sozinho? Também instalei um pacote completo automático e, dentro da pasta elpa, encontrei uma pasta com o nome popup-20141002.320. Por que aquela pasta estava lá? Pacotes podem instalar outros pacotes? Se sim, então quando eu desinstalo o primeiro pacote, devo desinstalar também o que ele instalou sozinho?


A instalação de pacotes via package-install não deve alterar o seu arquivo init. E sim, o gerenciador de pacotes instalará dependências para os pacotes que você instalar. Então popupé uma dependência para auto-complete.
Nispio 25/10/2014

Respostas:


10

Quando você desinstala um pacote, ele é excluído para você. Na verdade, essa é a totalidade da operação de desinstalação (consulte a package-deletefunção). A exclusão também pode ser feita manualmente, removendo-a do diretório de instalação (padrão .emacs.d/elpa/para os pacotes instalados pelo usuário). Esta exclusão manual não tem efeitos colaterais adversos no sistema de gerenciamento de pacotes, o que simplifica a recuperação em caso de problemas.

Pacotes podem depender de outros pacotes para funcionar corretamente. Essas dependências são instaladas automaticamente quando você instala um pacote por meio do gerenciador de pacotes interno ( package.el). Se você estiver usando M-x package-list-packagespara visualizar os pacotes disponíveis, poderá ver quais pacotes serão instalados (se não estiverem presentes) pressionando RETou clicando no nome de um pacote.

A desinstalação de um pacote pela interface não remove dependências. Esta informação não está documentada até onde eu sei. Você pode ver por si mesmo lendo as funções package-menu-executee package-deleteou instalando um pacote com uma dependência que você não instalou, removendo o pacote principal e observando o status da dependência.

Atualização Desde o emacs 25.1, existe um comando package-autoremoveque exclui os pacotes que não são mais necessários, porque eles foram instalados apenas como uma dependência do pacote excluído. Se você excluir um pacote instalado da lista de pacotes, o emacs exibirá uma sugestão para executar este comando quando apropriado.


11
Além disso, eu não tentaria excluir os pacotes de dependência, pois mais de um pacote pode depender deles, não apenas o que você está tentando excluir.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.