Seperti kata paprika, Emacs menggunakan load-pathuntuk mencari daftar elispfile yang tersedia ( .elc, .el)
Itu load-pathdicari 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-installada, 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.elini 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-pathdan akan disembunyikan oleh load-pathtambahan khusus pengguna .
Package.el
package.elpertama kali disertakan dengan Emacs 24. Versi ini kompatibel dengan Emacs 23tetapi perlu diinstal secara manual, paket yang diambil olehnya mungkin atau mungkin tidak kompatibel dengannya Emacs 23.
package.elmenyediakan repositori yang dapat ditelusuri paket untuk Emacs. Secara default hanya Elparepositori 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.elmenginstal paket ke ~/.emacs.d/elpadan 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-pathdan 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, emacswikisebagai 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 caskfile 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.dsebagai proyek dan memanggil (cask-initialize)startup.
straight.el
straight.eldirancang 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.elpaket 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.