เมื่อคุณอัปเดตแพ็คเกจผ่านM-x list-packages
อินเทอร์เฟซหลังจากติดตั้งแพคเกจสำเร็จคุณจะได้รับคำถามว่าคุณต้องการลบแพคเกจเก่าออกหรือไม่ อย่าลบพวกเขาเพื่อให้พวกเขาอยู่ในสถานที่และจากนั้นคุณสามารถลบแพคเกจใหม่ผ่านทางอินเตอร์เฟซนี้
รายการแพ็กเกจปัจจุบันของฉันแสดงการติดตั้ง magit 4 เวอร์ชันในแผนผังไดเร็กทอรี ~ / .emacs.d / elpa / ของฉัน
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
คุณสามารถล้างข้อมูลเวอร์ชันเก่าในภายหลังด้วยคีย์~
(package-menu-mark-obsolete-for-deletion) เพื่อทำเครื่องหมายแพ็กเกจที่ล้าสมัยทั้งหมด หากต้องการลบเวอร์ชันเก่าที่แน่นอนให้ย้ายไปที่บรรทัดและกดd
เพื่อทำเครื่องหมายเพื่อลบ หลังจากคุณทำเครื่องหมายแพ็คเกจที่คุณใช้x
เพื่อดำเนินการตามปกติ
ในEmacs 25การทำเครื่องหมายแพคเกจทั้งหมดสำหรับU
ฟังก์ชั่น pgrade จะตั้งค่าแพคเกจเก่าทั้งหมดสำหรับการลบโดยอัตโนมัติและไม่แจ้งให้ยืนยันหลังจากติดตั้ง คุณต้องค้นหาบรรทัดที่ขึ้นต้นด้วยตัวพิมพ์ใหญ่ "D" ซึ่งคุณสามารถยกเลิกการทำเครื่องหมาย (ดีที่สุดด้วยมาโครต่อไปนี้)
พิมพ์คีย์หรือคอร์ดทางด้านซ้ายของเส้นประจากบรรทัดต่อไปนี้
<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
หากไม่มีการจับคู่เพิ่มเติมสำหรับการค้นหามาโครจะส่งเสียงกริ่งและหยุดดังนั้นคุณสามารถC-u 0 <F4>
ยกเลิกการทำเครื่องหมายแพ็คเกจทั้งหมดที่ทำเครื่องหมายไว้สำหรับการลบ หลังจากนี้คุณสามารถx
ทำการติดตั้ง
ฟังก์ชั่นที่ฉันประกาศว่าจะเปลี่ยนแปลงในความคิดเห็นของฉันจะต้องมีการเปลี่ยนแปลงในแบบที่ฉันยังไม่เข้าใจเพราะเป็นสิ่งสำคัญที่บล็อก (cond) สุดท้ายจะต้องประสบความสำเร็จเพื่อที่จะไม่วนซ้ำไม่รู้จบ
M-x package-install-file
2) นอกจากนี้ยังมีวิธีอื่นในการจัดการแพคเกจนอกเหนือจาก ELPA / package.el เช่นel-getและquelpaพวกเขาดูเหมือนจะสามารถใช้งานได้โดยไม่ต้อง ELPA บางทีพวกเขาสามารถทำสิ่งที่คุณต้องการ