Saya mengatur arsip paket lokal (Emacs 24.5) menggunakan package.el
dengan terlebih dahulu membuat dua direktori, pkgs
dan local
. (Nama tidak masalah.) File-file yang terdiri dari paket Anda masuk pkgs
, dan local
pada akhirnya akan menyimpan arsip Anda. Jika Anda ingin membuat arsip tersedia untuk orang lain, Anda dapat mengekspos local
menggunakan server web, tetapi prosesnya sama dengan membangun arsip lokal.
Saya menaruh yang berikut ini di init.el
file saya :
(require 'package)
(setq package-enable-at-startup nil)
(require 'package-x)
(defvar local-archive
(expand-file-name "local/" user-emacs-directory)
"Location of the package archive.")
(setq package-archive-upload-base local-archive)
(add-to-list 'package-archives `("local" . ,local-archive) t)
(package-initialize)
Saya meletakkan arsip saya di .emacs.d
direktori saya (karena itu user-emacs-directory
dalam expand-file-name
bentuk) tetapi Anda dapat meletakkannya di mana saja Anda suka.
Setelah ini dievaluasi, jalankan M-x package-upload-file
dan masukkan nama file paket Anda untuk diinstal. Ini akan menghasilkan paket baru di local
. Anda akan melihat tiga file baru di sana, archive-contents
, yourpackagename-version.el
, dan yourpackagename-readme.txt
. Sekarang Anda harus dapat melakukan M-x package-list-packages
dan melihat paket Anda terdaftar. Jika beruntung, mereka akan berada di puncak bertanda "baru". Anda dapat menginstal paket seperti biasa, dan Anda akan melihatnya muncul di .emacs.d/elpa
direktori Anda sama seperti paket lainnya.
Ini seharusnya bekerja di luar kotak untuk Emacs 24. Saya tidak yakin tentang versi sebelumnya. Pengguna Anda dapat mengakses paket Anda dengan cara biasa dengan memasukkan
(require 'package)
(setq package-enable-at-startup nil)
(add-to-list 'package-archives
'("archive" . "http://yourdomain.com/path-to-local-dir/"))
(package-initialize)
dalam init.el
file mereka .
Untuk informasi tentang cara menulis paket, lihat Mempersiapkan kode Lisp untuk distribusi dalam manual GNU Emacs Lisp.