回答:
Emacs 25.1にこの機能が追加されました。NEWS
ファイルから:
**
package-install-from-buffer
およびpackage-install-file
ディレクトリで作業します。これは.tar
、-pkg.el
ファイルがオプションであることを除いて、ファイルからのインストールと同じ規則に従います。
覚えておくべき新しいコマンドはありません。package-install-from-buffer
diredバッファから発行するかpackage-install-file
、ディレクトリを呼び出して指定します。そのディレクトリに含まれているパッケージは、シングル-pkg.el
ファイルでもマルチファイルでも、読み込まれてインストールされ、風袋引きやファイルは必要ありません。
package-install-file
、それがディレクトリで機能していることについて言及していないことに気づきました(ただし、あなたが言ったように、そうです)。
package-install-from-buffer
言う:
現在のバッファーは、パッケージ化ガイドラインに従う単一の.el または.tarファイルであると想定されます
したがって、ディレクトリをアーカイブし(基準を満たしている場合)、tarファイルをEmacsにロードして、package-install-from-buffer
以前と同じように使用できると思いますか?
編集:または、lunaryornが指摘するように、Emacsのアーカイブにアクセスせずにを使用してくださいpackage-install-file
。
paradox/paradox-pkg.el
内のファイルを見つけようとしますが、見つからtar
ない場合はエラーになります。との両方install-file
で同じですinstall-from-buffer
。この-pkg
ファイルを一種のレシピとして作成する必要があると思います。
-pkg
ファイルが必要です。そうでない場合、それは有効なパッケージではないため、ランダムディレクトリをtarするだけでは機能しません。結局のところ、Emacsにはパッケージのメタデータを探す場所が必要です。MELPAを使用するpackage-build
かcask
、ディレクトリツリーから適切なTARパッケージを作成できます。
C-h i g (elisp) Multi-file Packages
については、を参照してください。
package.el
は、この使用例を適切にサポートしていません。package-install-from-buffer
パッケージを更新するたびに再実行する必要があります。またM-x find-function
、友人はソースコードにジャンプするのではなく、に挿入したコピーにジャンプpackage.el
し~/.emacs.d/elpa
ます。結果として、私はpackage.el
このユースケースには使用しないことをお勧めします(または、他にも多くの問題があるため、まったく使用しません)。
代わりに、straight.el
このユースケース用に明示的に設計されたパッケージマネージャーを試すことができます。ではstraight.el
、「ローカルインストール」の手順はありません。リポジトリをに置き~/.emacs.d/straight/repos/<my-package-repo>
、パッケージをinit-fileにロードします。
(straight-use-package '(<my-package> :local-repo "<my-package-repo>"))
ソースコードに変更を加えるたびに、オートロードの生成とバイトコンパイルがやり直されます(Emacsを再起動すると)。また、Gitリポジトリから直接実行しているのでM-x find-function
、友達も期待どおりに動作します。
最後に、ローカルバージョンとアップストリームバージョンは完全に交換可能です。straight.el
ローカルで必要な変更を加えることができ、それらは上流の変更と同様に神聖なものとして扱われます(ただしstraight.el
、必要に応じて、リポジトリを上流のバージョンに自動的に(そしてインタラクティブに)戻すことができます)。したがって、ローカル開発を行う場合は、構成を変更する必要はありません。ローカル開発を行うだけです。そして、公開するプライベートパッケージがある場合、それは取るに足らないことです。そのパッケージをどこかにプッシュするだけです(おそらく、initファイルのレシピを更新して、そのGitリポジトリを指すようstraight.el
にして、別のマシンから再クローンできるようにします)。
とは異なりpackage.el
、マルチファイルパッケージとシングルファイルパッケージの扱いに違いはありません。
straight.el
他のパッケージマネージャとの比較を含む、に関する詳細なドキュメントについては、READMEを参照してください。
-pkg.el
ファイルが面白いです。その場合、値はデフォルトで何になりますか?