ติดตั้งแพ็คเกจอย่างเฉื่อยชา


10

นี่เป็นสิ่งที่สามารถ / ควรทำหรือไม่? ตัวอย่างเช่นฉันมักจะใช้ emacs ในบัญชีผู้ใช้ของฉันและบางครั้งก็รูทบัญชี เมื่อใช้ตัวจัดการแพคเกจ (เช่นมาร์มาเลดหรืออะไรบางอย่าง) ฉันต้องติดตั้งแพ็กเกจเดียวกันแยกกันสำหรับแต่ละบัญชีหรือไม่ ดูเหมือนว่าพวกเขาจะได้รับการติดตั้งในโฮมไดเร็กตอรี่ของคุณ

คำตอบ:


7

ดังที่ Nsukami ระบุไว้ package.el สนับสนุนแพคเกจทั้งระบบ แต่เนื่องจากคำถามที่ตามมาของคุณชี้ไปที่มันไม่ได้ให้ความช่วยเหลือพิเศษใด ๆ ในการติดตั้งแพคเกจในลักษณะทั้งระบบ

วิธีหนึ่งที่คุณสามารถทำได้คือใช้สิ่งที่ชอบ:

(setq package-user-dir "/usr/share/emacs/site-lisp/elpa")

ในบัญชีรูทของ~/.emacsคุณ สิ่งนี้จะทำให้แพ็กเกจการติดตั้งของผู้ใช้รูทพร้อมใช้งานสำหรับผู้ใช้ทั้งหมด (เนื่องจาก/usr/share/emacs/site-lisp/elpaโดยปกติควรปรากฏในค่าเริ่มต้นเป็นpackage-directory-list)


ใช่มันสมเหตุสมผลแล้ว! ผู้ช่วยที่ดีเยี่ยม - ขอบคุณ
2237076

3

ตามเอกสาร:

ค่าของแพ็คเกจรายการไดเรกทอรีคือ
("/usr/local/share/emacs/24.4/site-lisp/elpa" "/ usr / local / share / emacs / site-lisp / elpa" "/ usr / share / emacs /" 24.4 / site-lisp / elpa "" / usr / share / emacs / ไซต์ -lisp / elpa ")

ตัวแปรนี้อาจมีความเสี่ยงหากใช้เป็นตัวแปรของไฟล์

เอกสารประกอบ: รายการไดเรกทอรีเพิ่มเติมที่มีแพ็คเกจ Emacs Lisp ชื่อไดเรกทอรีแต่ละชื่อควรเป็นแบบสัมบูรณ์

ไดเรกทอรีเหล่านี้มีแพ็คเกจที่เหมาะสำหรับทั้งระบบ ในทางตรงกันข้าม `package-user-dir 'มีแพ็คเกจสำหรับการใช้งานส่วนตัว

คุณสามารถปรับแต่งตัวแปรนี้

แนะนำตัวแปรนี้หรือเปลี่ยนแปลงค่าเริ่มต้นในเวอร์ชั่น 24.1 ของ Emacs

เอกสารอื่น:

นอกเหนือจาก package-user-dir แล้ว Emacs ยังค้นหาแพ็คเกจที่ติดตั้งในไดเรกทอรีที่แสดงรายการใน package-directory-list ไดเร็กทอรีเหล่านี้มีไว้สำหรับผู้ดูแลระบบเพื่อให้แพ็คเกจ Emacs พร้อมใช้งานทั้งระบบ Emacs เองไม่เคยติดตั้งแพ็คเกจเลย

ดังนั้นสำหรับการติดตั้งทั้งไซต์ฉันขอแนะนำให้คุณในฐานะผู้ดูแลระบบให้ติดตั้งแพ็กเกจภายใน / usr / local / share / emacs / site-lisp / elpa ด้วยตนเอง หรือคุณสามารถทำตามคำแนะนำของ @Stefan


ขอบคุณสำหรับการตอบกลับของคุณ. ฉันสามารถยืนยันการตรวจสอบค่าแพ็คเกจไดเรกทอรีรายการมันเป็นตามที่คุณได้อธิบายและแน่นอน package-user-dir เป็นโฟลเดอร์. emacs.d / elpa - ที่แพคเกจกำลังถูกติดตั้ง ดังนั้นฉันจึงถามว่าฉันจะแทนที่ package-user-dir ให้ชี้ไปที่ตำแหน่งทั่วโลกหรือเมื่อใช้ตัวอย่างเช่น 'Mx package-install' ฉันจะบอกได้อย่างไรว่าฉันต้องการการติดตั้งแบบกว้างของไซต์
user2237076
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.