package.elhat keine gute Unterstützung für diesen Anwendungsfall. Sie müssen package-install-from-bufferjedes Mal neu ausführen, wenn Sie ein Update für das Paket vornehmen. Außerdem M-x find-functionspringen Freunde nicht zum Quellcode, sondern zu der Kopie, die sie package.eleinfügt ~/.emacs.d/elpa. Infolgedessen würde ich empfehlen, nicht package.elfür diesen Anwendungsfall zu verwenden (oder überhaupt nicht, da es eine Reihe anderer Probleme gibt).
Stattdessen können Sie meinen Paketmanager ausprobieren straight.el, der explizit für diesen Anwendungsfall entwickelt wurde. Mit straight.elgibt es keine "lokale Installation". Sie legen einfach Ihr Repository ab ~/.emacs.d/straight/repos/<my-package-repo>und laden das Paket in Ihre Init-Datei:
(straight-use-package '(<my-package> :local-repo "<my-package-repo>"))
Jedes Mal, wenn Sie eine Änderung am Quellcode vornehmen, wird die automatische Ladegenerierung und Bytekompilierung wiederholt (sobald Sie Emacs neu starten). Außerdem werden Sie direkt aus dem Git-Repository ausgeführt, sodass M-x find-functionFreunde wie erwartet arbeiten.
Schließlich sind lokale und vorgelagerte Versionen vollständig austauschbar. straight.elMit dieser Option können Sie lokale Änderungen vornehmen, die Sie möchten, und sie werden genauso heilig behandelt wie Upstream-Änderungen (obwohl straight.elSie Ihre Repositorys auf Wunsch automatisch [und interaktiv] auf ihre Upstream-Versionen zurücksetzen können). Daher müssen Sie keine Änderungen an Ihrer Konfiguration vornehmen, wenn Sie eine lokale Entwicklung durchführen möchten: Führen Sie einfach eine lokale Entwicklung durch. Und wenn Sie ein privates Paket haben, das Sie veröffentlichen, ist es trivial: Schieben Sie dieses Paket einfach irgendwohin (und aktualisieren Sie wahrscheinlich das Rezept in Ihrer Init-Datei, um auf dieses Git-Repository zu verweisen, damit straight.eles von einem anderen Computer neu geklont werden kann).
Anders als bei package.elgibt es keinen Unterschied bei der Behandlung von Paketen mit mehreren Dateien und einzelnen Dateien.
Eine ausführliche Dokumentation zu straight.el, einschließlich Vergleiche mit anderen Paketmanagern, finden Sie in der README-Datei .
-pkg.elDatei ist interessant. Was sind die Standardwerte in diesem Fall?