Ketika Anda memperbarui paket Anda melalui M-x list-packages
antarmuka, setelah instalasi yang berhasil dari paket, Anda akan ditanya apakah Anda ingin menghapus paket yang lama. Jangan hapus mereka agar tetap di tempatnya dan nanti Anda bisa menghapus paket yang lebih baru melalui antarmuka ini.
Daftar paket saya saat ini menunjukkan 4 versi magit yang diinstal di pohon direktori ~ / .emacs.d / elpa / saya.
magit 20160827.1549 obsolete A Git porcelain inside Emacs
magit 20160907.945 obsolete A Git porcelain inside Emacs
magit 20161001.1454 obsolete A Git porcelain inside Emacs
magit 20161123.617 installed A Git porcelain inside Emacs
Anda dapat membersihkan versi lama nanti dengan tombol ~
(package-menu-mark-obsolete-for-deletion) untuk menandai semua paket usang. Untuk menghapus versi lama tertentu, pindah ke jalurnya dan tekan d
untuk menandai mereka untuk dihapus. Setelah Anda menandai paket yang akan Anda gunakan x
untuk menjalankan tindakan seperti biasa.
Di Emacs 25 tandai semua paket untuk U
fungsi pgrade secara otomatis menetapkan semua paket lama untuk dihapus, dan tidak meminta konfirmasi setelah menginstal. Anda harus mencari garis yang dimulai dengan huruf kapital "D", yang tidak dapat Anda tandai (paling baik dengan makro berikut)
Ketikkan kunci atau akor di sebelah kiri tanda hubung dari baris berikut.
<F3> - start macro recording
C-s - isearch-forward
C-q - quoted-insert
C-j - linefeed character
D - the mark at the start of the line
<Ret> - stops the isearch on the line with the "D"
u - unmark the package for deletion
<F4> - stops macro recording - the first package is now unmarked
<F4> - executes the macro for the next upgraded package
Jika tidak ada kecocokan lebih lanjut untuk pencarian, makro akan membunyikan bel dan berhenti, sehingga Anda dapat C-u 0 <F4>
menghapus centang semua paket yang ditandai untuk dihapus. Setelah ini, Anda dapat x
membuat instalasi.
Fungsi yang saya nyatakan akan diubah dalam komentar saya harus diubah dengan cara yang belum dapat saya pahami, karena penting bahwa blok (cond) terakhir harus berhasil agar tidak berulang tanpa henti.
M-x package-install-file
. Ada juga cara lain untuk mengelola paket selain ELPA / package.el, seperti el-get dan quelpa , mereka tampaknya dapat digunakan tanpa ELPA, mungkin mereka dapat melakukan apa yang Anda inginkan.