Quelle est la meilleure façon d'utiliser des packages locaux dans spacemacs?


18

Je suis développeur d'un package (ycmd) utilisé par spacemacs, et j'aimerais également essayer d'utiliser spacemacs. J'aimerais que spacemacs utilise la "version de développement" de mon package, c'est-à-dire celle sur laquelle je pirate localement. Quelle est la meilleure / bonne façon de dire à spacemacs d'utiliser cette version du package plutôt que celle de melpa?

En ce moment, j'utilise l' :load-pathargument pour use-package, mais cela semble aller à l'encontre du grain un peu. Est-ce que spacemacs me permet de spécifier un répertoire de chargement pour des packages spécifiques dans la configuration de couche quelque part?

Réponses:


14

Les packages locaux sont placés à la extensions.elplace de packages.el. Il y a deux listes dans un extensions.elfichier:

  • <layer>-pre-extensions qui sont chargés avant packages.el
  • <layer>-post-extensions qui sont chargés après packages.el

Les packages locaux sont placés dans le dossier d' extensionsun sous-dossier dont le nom est le nom que vous avez mis dans l'une des deux listes. La load-pathvariable est gérée automatiquement.

Vous pouvez regarder quelques exemples dans le pythoncalque.


Excellent, merci! J'ai pensé qu'il y avait une voie canonique, mais je ne connectais pas tous les points.
abingham

J'ai édité la réponse pour mentionner la load-pathvariable qui est automatiquement définie.
syl20bnr

@ syl20bnr devez-vous également ajouter le package à `<layer> -excluded-packages, si vous travaillez sur un package déjà utilisé ailleurs?
mkaito

5
extensions.el est déconseillé au profit des packages locaux. Voir github.com/syl20bnr/spacemacs/blob/develop/doc/…
tony day

@tonyday en effet, la pythoncouche mentionnée par @ syl20bnr dans cette réponse suit désormais également ces lignes directrices, ce qui m'a laissé perplexe jusqu'à ce que je voie votre commentaire :)
Mike
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.