Qual è il modo migliore per usare i pacchetti locali in spacemacs?


18

Sono uno sviluppatore di un pacchetto (ycmd) utilizzato da spacemacs e mi piacerebbe provare anche a usare spacemacs. Vorrei che spacemacs usasse la "versione di sviluppo" del mio pacchetto, ovvero quella su cui sto hackerando localmente. Qual è il modo migliore / corretto per dire a spacemacs di usare quella versione del pacchetto piuttosto che quella di melpa?

In questo momento sto usando l' :load-pathargomento per use-package, ma questo sembra andare un po 'contro il grano. Spacemacs mi permette di specificare da qualche parte una directory di caricamento per pacchetti specifici nella configurazione del layer?

Risposte:


14

Vengono inseriti i pacchetti locali extensions.elanziché packages.el. Ci sono due elenchi in un extensions.elfile:

  • <layer>-pre-extensions che sono stati caricati prima packages.el
  • <layer>-post-extensions che vengono caricati dopo packages.el

I pacchetti locali vengono inseriti nella cartella extensionsall'interno di una sottocartella il cui nome è il nome inserito in uno dei due elenchi. La load-pathvariabile viene gestita automaticamente.

Puoi vedere alcuni esempi nel pythonlivello.


Eccellente grazie! Ho pensato che ci fosse un modo canonico, ma non stavo collegando tutti i punti.
circa

Ho modificato la risposta per menzionare la load-pathvariabile che viene impostata automaticamente.
syl20bnr

@ syl20bnr devi anche aggiungere il pacchetto a `<layer> -excluded-pacchetti, se stai lavorando su un pacchetto già utilizzato altrove?
mkaito,

5
extensions.el è deprecato a favore dei pacchetti locali. Vedi github.com/syl20bnr/spacemacs/blob/develop/doc/…
tony day

@tonyday effettivamente, lo pythonstrato che @ syl20bnr menziona in questa risposta ora segue anche quelle linee guida, che mi hanno confuso fino a quando non ho visto il tuo commento :)
Mike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.