Seperti kata paprika, Emacs menggunakan load-path
untuk mencari daftar elisp
file yang tersedia ( .elc
, .el
)
Itu load-path
dicari untuk paket yang cocok pertama saat diperlukan. Jika beberapa salinan paket diinstal, maka yang pertama akan dimuat.
Manajer paket distro tidak dapat menginstal ke sumber yang sama dengan yang package-install
ada, karena satu adalah seluruh sistem dan yang lainnya adalah khusus pengguna.
Sumber Paket
Built-in dan Khusus Distro
Manajer Paket Distro
Manajer paket distro menyediakan pilihan paket emacs yang dapat diinstal. Dalam pengalaman saya, ini sering di antara paket yang lebih populer / banyak digunakan. Sebelum pengembangan package.el
ini adalah cara termudah untuk mendapatkan paket. (Paling mudah berdasarkan hanya berjalan apt-get install <package>
daripada menggunakan kontrol versi atau unduhan langsung.
Paket yang diinstal melalui manajer paket distro diinstal ke /usr/local/share/emacs/site-lisp/
yang merupakan default di load-path
dan akan disembunyikan oleh load-path
tambahan khusus pengguna .
Package.el
package.el
pertama kali disertakan dengan Emacs 24
. Versi ini kompatibel dengan Emacs 23
tetapi perlu diinstal secara manual, paket yang diambil olehnya mungkin atau mungkin tidak kompatibel dengannya Emacs 23
.
package.el
menyediakan repositori yang dapat ditelusuri paket untuk Emacs. Secara default hanya Elpa
repositori yang dikonfigurasi, tetapi akses ke MELPA dan Marmelade dapat ditambahkan:
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
Ini memberikan akses ke kumpulan paket yang jauh lebih besar.
Secara default package.el
menginstal paket ke ~/.emacs.d/elpa
dan ketika (package-initialize)
dipanggil direktori ini akan ditempatkan lebih dekat ke depan load-path
, sehingga paket-paket ini diutamakan daripada yang diinstal dengan oleh manajer paket distribusi.
Git / Bzr / hg / ... + EmacsWiki
Paket yang dikontrol versi dapat secara manual diambil dari repositori mereka melalui kloning. Beberapa juga menyediakan rilis paket yang dapat diunduh secara langsung.
File EmacsWiki Elisp juga dapat diunduh, meskipun mereka biasanya file tunggal daripada direktori.
Setelah paket diambil, pastikan folder tujuan ada di Anda load-path
dan akan tersedia untuk digunakan.
Manajemen paket pihak ketiga
Alat-alat ini menyediakan pembungkus atau fungsionalitas tambahan di atas untuk memusatkan manajemen paket. Mereka dirancang dengan konfigurasi bersama untuk memastikan semua mesin Anda memiliki paket yang sama.
El-Get
El-Dapatkan menyimpan daftar resep yang memungkinkan untuk mengambil paket menggunakan package.el
, git
, emacswiki
sebagai sumber (antara lain). Ini juga menyediakan fungsi untuk memastikan paket terbaru, mengelola pemuatan (ditangguhkan atau langsung), dan menyimpan kustomisasi khusus paket dalam file yang dimuat secara otomatis ketika paket tersebut required
.
Tong kecil
Tong dirancang untuk manajemen proyek di / untuk Emacs. Itu menggunakan cask
file untuk mempertahankan daftar dependensi (paket lain) yang diperlukan untuk menggunakan paket, dan akan mengunduh paket yang hilang untuk memastikan semuanya berhasil dimuat.
Ini dapat digunakan untuk mengelola konfigurasi paket lokal dengan memperlakukan Anda ~/.emacs.d
sebagai proyek dan memanggil (cask-initialize)
startup.
straight.el
straight.el
dirancang untuk orang-orang yang ingin membuat perubahan lokal ke paket mereka, dan mungkin berkontribusi perubahan itu di hulu. Ini menarik resep dari MELPA , GNU ELPA , dan EmacsMirror , atau memungkinkan Anda untuk menentukan sendiri. Ini juga mendukung penulisan lockfile revisi untuk reproduktifitas maksimum, di antara banyak fitur lainnya.
Paket penggunaan
Paket penggunaan dirancang terutama sebagai alat manajemen konfigurasi emacs. Ini akan mengunduh package.el
paket yang diperlukan tetapi tidak memiliki mekanisme bawaan untuk mengakses sumber lain. Hal ini memungkinkan untuk pemuatan paket yang ditangguhkan dan kustomisasi yang ditangguhkan. Ini meningkatkan inisialisasi emacs sambil memperlambat penggunaan awal paket (tetapi jika tidak menggunakannya dalam sesi yang diberikan hanya ada keuntungan bersih).
M-x report-emacs-bug
. Orang-orang yang menanggapi pertanyaan semacam itu di sini akan lebih baik berkontribusi pada dokumen Emacs, jika infonya hilang. MENURUT OPINI SAYA.