いいえ、GNU ELPAやELPAは必要ないかもしれません。
GNU ELPAやサードパーティのリポジトリを使用しない実用的な理由は、Emacsがシャットダウンするのを防ぐためです。シャットダウンは時々発生しました(https://www.reddit.com/r/emacs/search/?q=elpa%20down&restrict_sr=1を参照)
私のパッケージのほとんどはhttps // melpa.orgからダウンロードされます。選択したGNU ELPAパッケージの小さなローカルパッケージミラーを作成することで、GNU ELPAを回避できます。
でセットアップを確認してくださいhttps://github.com/redguardtoo/emacs.d/blob/master/lisp/init-elpa.el
。GNUELPAは使用されていません。
GNU ELPAのみのパッケージを使用する必要がある場合は、代わりに独自のローカルELPAを作成します(テキストファイルを作成するのと同じくらい簡単ですarchive-contents
)~/.emacs.d/localelpa
。
たとえばseq-2.20.tar
、GNU ELPAにのみ存在し、これが必要です。このパッケージをローカルのelpaに追加しますhttps://github.com/redguardtoo/emacs.d/tree/master/localelpa
現在、GNU ELPAの4つのパッケージのみを使用しています。
gnu-elpa-keyring-update-2019.3.tar
let-alist-1.0.5.el
seq-2.20.tar
undo-tree-20170706.246.tar
これらのパッケージはmyに置かれているlocalelpa
ため、GNU ELPAにアクセスする必要はありません。
パッケージhttps://github.com/redguardtoo/elpa-mirrorを確認して、インストールされたパッケージからローカルリポジトリを作成することもできます。そのため、リモートリポジトリ(GNU ELPA、MELPA)でもオプションになりました。
ダウンロードしたパッケージの代わりにソースを使用することもできます。https://github.com/redguardtoo/emacs.d/tree/master/site-lispを確認してください。rainbow-mode
、ソースを使用する場合はload-path
(http://emacswiki.org/emacs/LoadPath)を理解する必要があります。
package--add-to-archive-contents
パッケージをパッケージマネージャーに表示する前に、パッケージを微調整することもできます。これは文書化されていないハッキングの一種です。Emacs 23.4からEmacs 27まで動作しinit-elpa.el
ます。例を参照してください。