ฉันใช้ Melpa-stable เป็นที่เก็บแพ็กเกจเพิ่มเติม แต่หนึ่งในแพ็คเกจที่ฉันต้องการใช้ (หยาด) ไม่สามารถใช้ได้กับ Melpa-stable มีวิธีใดในการกำหนดค่า package.el ให้ใช้ melpa-stable แต่ใช้ melpa สำหรับชุดย่อยของแพคเกจเฉพาะหรือไม่
icicles
Melpa ได้เช่นกัน
ฉันใช้ Melpa-stable เป็นที่เก็บแพ็กเกจเพิ่มเติม แต่หนึ่งในแพ็คเกจที่ฉันต้องการใช้ (หยาด) ไม่สามารถใช้ได้กับ Melpa-stable มีวิธีใดในการกำหนดค่า package.el ให้ใช้ melpa-stable แต่ใช้ melpa สำหรับชุดย่อยของแพคเกจเฉพาะหรือไม่
icicles
Melpa ได้เช่นกัน
คำตอบ:
ใช้ตัวเลือกpackage-archive-priorities
ที่ทำขึ้นเพื่อจุดประสงค์นี้ หากต้องการใช้ MELPA Stable มากกว่า MELPA ให้เพิ่มรายการต่อไปนี้ในไฟล์ init ของคุณ:
(setq package-archives
'(("GNU ELPA" . "https://elpa.gnu.org/packages/")
("MELPA Stable" . "https://stable.melpa.org/packages/")
("MELPA" . "https://melpa.org/packages/"))
package-archive-priorities
'(("MELPA Stable" . 10)
("GNU ELPA" . 5)
("MELPA" . 0)))
จำนวนที่สูงกว่าลำดับความสำคัญของแพคเกจไฟล์เก็บถาวรที่สูงขึ้น สำหรับแพ็คเกจใด ๆ ที่มีอยู่ในคลังเก็บหลายชุด Emacs 'ผู้จัดการแพคเกจเลือกแพคเกจจากการเก็บถาวรที่มีลำดับความสำคัญสูงสุดและละเว้นแพคเกจในคลังเก็บอื่น ๆ แม้ว่าหมายเลขรุ่นจะสูงกว่า package-archives
ถ้าแพคเกจที่มีอยู่ในสองจดหมายเหตุของความสำคัญเดียวกันรุ่นที่สูงกว่าชนะจำนวนและท้ายที่สุดผมคิดว่าในการสั่งซื้อ
ฉันขอแนะนำให้กำหนดลำดับความสำคัญให้กับไฟล์เก็บถาวรทั้งหมดรวมถึงไฟล์เก็บถาวร GNU ELPA เริ่มต้นอย่างชัดเจนเพื่อหลีกเลี่ยงความคลุมเครือ ถึงแม้ว่าคลังเก็บที่ไม่ได้อยู่ในpackage-archive-priorities
ลำดับความสำคัญเริ่มต้นของ 0 มันง่ายเกินไปที่จะลืม
package-archive-priorities
เป็นที่รู้จักใน Emacs 25.1 สำหรับรุ่นก่อนหน้าดูคำตอบเก่าด้านล่าง:
ใน Emacs 24 เป็นไปไม่ได้ที่จะใช้ MELPA Stable และใช้ MELPA สำหรับแพ็คเกจเฉพาะโดยทั่วไป ไม่มีแพ็คเกจการปรับแต่งใด ๆ ค่าเริ่มต้นจะเป็นไฟล์เก็บถาวรซึ่งเป็นเวอร์ชั่นสูงสุดซึ่งก็คือ MELPA ไม่มีอินเทอร์เฟซสำหรับเปลี่ยนสิ่งนั้น
อย่างไรก็ตามในขณะที่ Emacs 24.4 ตัวเลือกใหม่package-pinned-packages
ช่วยให้คุณสามารถตรึงแต่ละแพ็คเกจเป็นไฟล์เก็บถาวรได้ แต่สิ่งนี้จะช่วยให้คุณสามารถใช้ความต้องการของคุณผกผัน: เริ่มต้นที่ MELPA และใช้ MELPA Stable สำหรับแพ็คเกจเฉพาะ
ดังนั้นในปัจจุบันตัวเลือกเดียวของคุณคือเติมpackage-pinned-packages
แพ็คเกจทั้งหมดที่คุณต้องการใช้ไม่ว่าจะด้วยตนเองหรือด้วยรหัส Emacs Lisp บางส่วน โปรดทราบว่าpackage-pinned-packages
จะต้องตั้งค่าก่อนที่จะโทรpackage-refresh-contents
เพราะการประเมินการปักขณะที่สร้างดัชนีแพคเกจและไม่เมื่อติดตั้งแพคเกจ
วิธีแก้ปัญหาระยะยาวคือการM-x report-emacs-bug
ขอให้ผู้พัฒนา Emacs ใช้คุณสมบัติ“ default archive” บางประเภทหรือขอให้ผู้ดูแลของ icicles ติดแท็กเผยแพร่อย่างถูกต้องเพื่อให้ MELPA Stable สามารถสร้างแพ็คเกจที่เสถียรได้ ทั้งสองอาจไม่ใช่เรื่องง่าย แต่เนื่องจากในอดีตต้องการการเปลี่ยนแปลงที่ใหญ่กว่าใน package.el และสิ่งที่ต่อมาถูกย้ายจาก icacWiki ไปยังที่เก็บ VCS ที่เหมาะสมพร้อมแท็กซึ่งฉันเชื่อว่าผู้ดูแลไม่เต็มใจทำเพราะ ถ้าพวกเขาพวกเขาจะทำมันนานแล้ว
ที่นี่คุณมีการสนทนาเกี่ยวกับการใช้ที่เก็บทั้งสองแบบขนานดังนั้นสิ่งนี้ควรจะเป็นไปได้ด้วย 24.4; คุณเคยลองยกตัวอย่างเช่น defun เพื่ออัพเดทรายชื่อ repos จากนั้นต้องใช้ paradoxและสุดท้ายกลับไปที่ repo list เดิมหรือไม่?