J'ai installé auctex à partir du centre de logiciels d'Ubuntu, puis j'ai installé une version plus récente d'auctex à partir d'emacs.
J'ai ensuite désinstallé l'auctex installé par le centre logiciel d'Ubuntu. J'ai trouvé qu'il n'avait pas désinstallé celui que j'avais installé à partir d'emacs.
Comment emacs gère-t-il ses packages?
N'y a-t-il pas d'interférence entre emacs et Ubuntu dans la gestion de l'installation et de la désinstallation des packages emacs?
Si j'ai raison, il y a quelques années, il n'y avait aucun moyen d'installer des packages dans emacs?
Merci.
M-x report-emacs-bug
. Les personnes qui répondent à une telle question ici feraient mieux de contribuer aux documents Emacs, si les informations sont manquantes. A MON HUMBLE AVIS.Réponses:
Comme l'a dit paprika, Emacs utilise
load-path
pour rechercher la liste deselisp
fichiers disponibles (.elc
,.el
)On
load-path
recherche le premier package correspondant lorsqu'il est requis. Si plusieurs copies d'un package sont installées, la première sera chargée.Le gestionnaire de packages distro ne peut pas installer sur la même source que lui
package-install
, car l'un est à l'échelle du système et l'autre est spécifique à l'utilisateur.Sources de package
Intégré et spécifique à la distribution
Distro Package ManagerLes gestionnaires de packages Distro fournissent une sélection de packages emacs qui peuvent être installés. D'après mon expérience, ce sont souvent parmi les packages les plus populaires / largement utilisés. Avant le développement de
package.el
cela, c'était le moyen le plus simple d'obtenir les packages. (Plus facile en raison de la simple exécutionapt-get install <package>
au lieu d'utiliser le contrôle de version ou le téléchargement direct.Les packages installés via le gestionnaire de packages distro sont installés,
Package.el/usr/local/share/emacs/site-lisp/
ce qui est une valeur par défaut dans leload-path
et seront masqués par desload-path
ajouts spécifiques à l'utilisateur .package.el
a d'abord été inclus avecEmacs 24
. Cette version est compatible avecEmacs 23
mais doit être installée manuellement, les paquets récupérés par elle peuvent ou non être compatibles avecEmacs 23
.package.el
fournit un référentiel navigable de packages pour Emacs. Par défaut, seul leElpa
référentiel est configuré, mais l'accès à MELPA et Marmelade peut être ajouté:Cela donne accès à un pool beaucoup plus important de packages.
Par défaut,
Git / Bzr / hg / ... + EmacsWikipackage.el
installe les packages sur~/.emacs.d/elpa
et quand(package-initialize)
est appelé, ce répertoire sera placé plus près de l'avant deload-path
, ce qui fera que ces packages auront la priorité sur ceux installés par le gestionnaire de packages de distribution.Les packages contrôlés par version peuvent être récupérés manuellement de leur référentiel via le clonage. Certains proposent également des versions packagées qui peuvent être téléchargées directement.
Les fichiers EmacsWiki Elisp peuvent également être téléchargés, bien qu'il s'agisse généralement de fichiers uniques plutôt que de répertoires.
Une fois le package récupéré, assurez-vous que le dossier de destination se trouve sur votre ordinateur
load-path
et qu'il sera disponible à l'utilisation.Gestion de packages tiers
Ces outils fournissent des wrappers ou des fonctionnalités supplémentaires par rapport à ce qui précède pour centraliser la gestion des packages. Ils sont conçus avec une configuration partagée à l'esprit pour garantir que toutes vos machines ont les mêmes packages disponibles.
El-GetEl-Get tient à jour une liste des recettes qui lui permettent de récupérer les paquets en utilisant
Fûtpackage.el
,git
, enemacswiki
tant que sources (entre autres). Il fournit également des fonctions pour garantir que les packages sont à jour, gérer le chargement (différé ou immédiat) et stocker la personnalisation spécifique au package dans des fichiers qui sont chargés automatiquement lorsque le package l'estrequired
.Cask est conçu pour la gestion de projet dans / pour Emacs. Il utilise un
cask
fichier pour maintenir une liste des dépendances (autres packages) nécessaires pour utiliser le package, et téléchargera les packages manquants pour s'assurer que tout se charge correctement.Il peut être utilisé pour gérer les configurations de packages locaux en le traitant
~/.emacs.d
comme un projet et en appelant(cask-initialize)
au démarrage.straight.el
Use-Packagestraight.el
est conçu pour les personnes qui souhaitent apporter des modifications locales à leurs packages et éventuellement apporter ces modifications en amont. Il tire des recettes de MELPA , GNU ELPA et EmacsMirror , ou vous permet de spécifier les vôtres. Il prend également en charge l'écriture d'un fichier de verrouillage de révision pour une reproductibilité maximale, parmi de nombreuses autres fonctionnalités.Use-Package est principalement conçu comme un outil de gestion de configuration emacs. Il téléchargera les
package.el
packages nécessaires mais ne dispose pas de mécanismes intégrés pour accéder à d'autres sources. Il permet un chargement différé des packages et une personnalisation différée. Cela améliore l'initialisation d'emacs tout en ralentissant l'utilisation initiale des packages (mais si vous ne les utilisez pas dans une session donnée, il n'y a qu'un gain net).la source
/usr/share/emacs/site-lisp
, pas/usr/local/share...
puisque leslocal
répertoires sont destinés aux installations non distro.Emacs utilise le
load-path
, qui est essentiellement une liste de répertoires qu'il doit rechercher pour les fichiers Lisp. Si un package est disponible dans le,load-path
il est installé .Il n'y a pas d'interface entre le gestionnaire de paquets Debian / Ubuntu et le gestionnaire de paquets Emacs (package.el). Le premier installe les packages Emacs à l'échelle du système (accessible à tous les utilisateurs de l'ordinateur) tandis que le second installe un package par défaut sous votre répertoire personnel. Théoriquement, vous pouvez utiliser les deux sources pour installer des packages. Cependant, je déconseille cette pratique: vous pouvez rencontrer des problèmes lorsque vous installez le même package à partir des deux sources.
La liste des paquets Emacs que vous pouvez installer via le gestionnaire de paquets Debian / Ubuntu est beaucoup plus limitée par rapport à ELPA / MELPA / ..., car chaque paquet doit être préparé spécifiquement pour Debian / Ubuntu. En d'autres termes: package sur ELPA! = Package dans Debian.
la source