ไม่คุณอาจไม่ต้องการ GNU ELPA หรือ ELPA ใด ๆ
เหตุผลในทางปฏิบัติที่จะไม่ใช้ GNU ELPA หรือที่เก็บของบุคคลที่สามใด ๆ คือการปกป้อง Emac ของฉันจากการปิด ELPA การปิดระบบเกิดขึ้นเป็นครั้งคราว (ดูhttps://www.reddit.com/r/emacs/search/?q=elpa%20down&restrict_sr=1 )
แพ็คเกจส่วนใหญ่ของฉันถูกดาวน์โหลดจาก https // melpa.org ฉันสามารถหลีกเลี่ยง GNU ELPA โดยสร้างมิเรอร์แพ็คเกจเล็ก ๆ ของแพ็คเกจ GNU ELPA ที่เลือก
ตรวจสอบการตั้งค่าของฉันที่https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-elpa.el
ไม่ใช้ GNU ELPA
ถ้าผมต้องใช้บางส่วนแพคเกจ GNU ELPA เท่านั้นฉันอยากจะสร้าง ELPA ในท้องถิ่นของตัวเองแทน (มันเป็นง่ายๆเป็นสร้างไฟล์ข้อความarchive-contents
), ~/.emacs.d/localelpa
ตรวจสอบของฉัน
เช่นseq-2.20.tar
มีอยู่ที่ GNU ELPA เท่านั้นและฉันต้องการสิ่งนี้ ดังนั้นฉันจึงเพิ่มแพ็กเกจนี้ลงใน elpa ท้องถิ่นของฉันที่https://github.com/redguardtoo/emacs.d/tree/master/localelpa
ปัจจุบันฉันใช้แพ็คเกจสี่ชุดจาก GNU ELPA เท่านั้น
gnu-elpa-keyring-update-2019.3.tar
let-alist-1.0.5.el
seq-2.20.tar
undo-tree-20170706.246.tar
แพ็คเกจเหล่านี้อยู่ในของฉันlocalelpa
ดังนั้นฉันจึงไม่จำเป็นต้องเข้าถึง GNU ELPA
คุณสามารถตรวจสอบแพ็คเกจของฉันได้ที่https://github.com/redguardtoo/elpa-mirrorซึ่งสร้างที่เก็บข้อมูลในเครื่องจากแพ็คเกจที่ติดตั้ง ดังนั้นแม้แต่พื้นที่เก็บข้อมูลระยะไกล (GNU ELPA, MELPA) ก็เป็นทางเลือกในขณะนี้
คุณยังสามารถใช้แหล่งข้อมูลแทนแพ็คเกจที่ดาวน์โหลด กรุณาตรวจสอบhttps://github.com/redguardtoo/emacs.d/tree/master/site-lisp rainbow-mode
คุณต้องเข้าใจว่ามีอะไรload-path
( http://emacswiki.org/emacs/LoadPath ) หากคุณใช้แหล่งที่มา
คุณสามารถpackage--add-to-archive-contents
ให้คำแนะนำในการปรับแต่งแพ็กเกจก่อนที่จะแสดงในตัวจัดการแพ็คเกจ นี่เป็นแฮ็คที่ไม่มีเอกสาร มันทำงานได้จาก Emacs 23.4 ถึง Emacs 27 ดูinit-elpa.el
ตัวอย่าง