Який найкращий спосіб використовувати локальні пакети у spacemacs?


18

Я розробник для пакету (ycmd), що використовується Spacemacs, і я також хочу спробувати використовувати Spacemacs. Я хотів би, щоб Spacemacs використовував "версію розробки" свого пакету, тобто ту, яку я хакую на локальному рівні. Який найкращий / правильний спосіб сказати spacemacs використовувати таку версію пакета, а не версію melpa?

Зараз я використовую :load-pathаргумент use-package, але це, здається, трохи суперечить зерну. Чи дозволяють spacemacs мені десь вказати каталог завантаження для конкретних пакетів у конфігурації шару?

Відповіді:


14

Місцеві пакети ставлять extensions.elзамість packages.el. У extensions.elфайлі є два списки :

  • <layer>-pre-extensions які завантажуються раніше packages.el
  • <layer>-post-extensions які завантажуються після packages.el

Локальні пакети поміщаються в папку extensionsв межах підпапки, ім'я якої - ім'я, яке ви помістили в один із двох списків. load-pathМінлива обробляється автоматично.

Ви можете переглянути деякі приклади в pythonшарі.


Відмінно, дякую! Я зрозумів, що існує канонічний шлях, але я не з'єднав усі точки.
Абінгем

Я відредагував відповідь, щоб згадати load-pathзмінну, яка встановлюється автоматично.
syl20bnr

@ syl20bnr, чи потрібно також додавати пакунок до пакунків `<layer> -excluded, якщо ви працюєте над уже використовуваним пакетом?
mkaito

5
extensions.el застаріває на користь локальних пакетів. Дивіться github.com/syl20bnr/spacemacs/blob/develop/doc/…
день тоні

@tonyday, дійсно, pythonшар, про який згадує @ syl20bnr, у цій відповіді тепер також відповідає цим рекомендаціям, які мене плутали, поки я не побачив ваш коментар :)
Майк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.