คำถามติดแท็ก package

Emacs มีระบบอำนวยความสะดวกที่ให้คุณดาวน์โหลดและติดตั้งแพ็คเกจที่ใช้คุณสมบัติเพิ่มเติมได้อย่างง่ายดาย แต่ละแพ็คเกจเป็นโปรแกรม Emacs Lisp แยกต่างหากบางครั้งรวมถึงส่วนประกอบอื่น ๆ เช่นคู่มือข้อมูล

4
Emacs Package Repositories แตกต่างกันอย่างไร
ฉันสังเกตเห็นว่ามีที่เก็บหลายแห่งที่มักจะมีซอฟต์แวร์เดียวกัน ทำไมฉันต้องการที่จะชอบ: GNU ELPA แยมผิวส้ม MELPA มากกว่าคนอื่น ๆ ? เนื่องจากที่เก็บหนึ่งแห่งไม่มีแพ็คเกจทั้งหมดที่ฉันต้องการมันเป็นความคิดที่ดีหรือไม่ที่เปิดใช้ที่เก็บเหล่านี้พร้อมกัน?

12
ซิงโครไนซ์แพ็คเกจระหว่างเครื่องต่าง ๆ
ฉันใช้ emacs ในที่ต่าง ๆ และฉันต้องการติดตั้งและติดตั้งแพคเกจที่คล้ายคลึงกันทุกที่ ฉันเดาว่าฉันสามารถใช้ที่เก็บข้อมูลการควบคุมเวอร์ชันสำหรับไฟล์ติดตั้ง ตั้งแต่ฉันใช้โหมโรงนั่นก็จะเป็น~/.emacs.d/personal/เช่นนั้น ฉันไม่รู้ว่าจะทำอย่างไรกับแพ็คเกจ มีไฟล์อยู่ใน.emacs.d/รายการแพคเกจที่ติดตั้งซึ่งฉันสามารถใช้ทำ emacs ในเครื่องอื่น ๆ เพื่อติดตั้งไฟล์เหล่านั้นด้วยหรือไม่

4
วิธีทดสอบ REST API ด้วย Emacs
ฉันรวมแอพเข้าด้วยกันและต้องการทดสอบจุดปลายของ api ฉันคิดว่า Emacs จะเป็นวิธีที่ยอดเยี่ยมในการไป - โดยเฉพาะอย่างยิ่งถ้าการตอบสนอง JSON สามารถแยกวิเคราะห์และข้อมูลผลตอบแทนที่ใช้ในการทดสอบครั้งต่อไป ความคิดใด ๆ เกี่ยวกับวิธีที่จะไปเกี่ยวกับเรื่องนี้หรือเป็นเพียงแค่บ้า?
34 package 

8
วิธีดำเนินการกับ package.el การตรวจสอบลายเซ็นล้มเหลว
ฉันเพียงแค่พยายามที่จะติดตั้งascii-art-to-unicodeจากที่เก็บ GNU ( http://elpa.gnu.org/ ) list-packagesผ่าน ฉันได้รับข้อผิดพลาดต่อไปนี้: package--check-signature: Failed to verify signature ascii-art-to-unicode-1.9.el.sig: ("No public key for 474F05837FBDEF9B created at 2014-09-24T16:20:01+0200 using DSA") ฉันใช้ cask / pallet เพื่อจัดการแพ็คเกจของฉัน มีการตั้งค่าบางอย่างที่ฉันพลาดหรือไม่? มีการเปลี่ยนแปลงล่าสุดของ elpa หรือไม่ ฉันใช้ emacs 24.4 pre-release

2
ฉันยังต้องใช้ GNU ELPA หรือไม่ถ้าฉันมี MELPA
สิ่งนี้ทำให้ฉันสับสนอยู่เสมอเนื่องจากมีคนบอกว่า MELPA มีแพ็คเกจรุ่นใหม่กว่า แต่ก็ไม่ชัดเจนถ้า GNU ELPA เป็นเพียงส่วนหนึ่งของ MELPA หรือถ้าฉันต้องการทั้งสองอย่าง? เหตุผลที่ฉันถามคือฉันกำลังทดลองกับแพ็คเกจของฉันมากและpackage-list-packagesใช้เวลาพอสมควร ฉันรับรู้package-list-packages-no-fetchแต่บ่อยกว่าที่ฉันไม่ต้องการรับรายการแพ็คเกจล่าสุด ดังนั้นคำถามคือฉันสามารถใช้ MELPA และรับแพ็คเกจ (และรุ่นที่ใหม่กว่า) ได้เหมือนกันถ้าฉันใช้ทั้ง MELPA และ GNU ELPA

2
แพคเกจเริ่มต้น: อาร์กิวเมนต์ประเภทที่ไม่ถูกต้อง: arrayp, ศูนย์
ในขณะที่ผ่านemacs ในฐานะที่เป็นผู้แก้ไข ac / c ++ฉันพบรหัสบรรทัดต่อไปนี้เพื่อรวมไว้ใน~/.emacsไฟล์ของฉันเพื่อเชื่อมต่อกับ melpa archivesการติดตั้งแพ็คเกจ (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/")) (package-initialize) หลังจากบันทึกบรรทัดเหล่านี้เป็น emacs เมื่อฉันเริ่ม emacs มันแสดงให้ฉันเห็นwrong type argument: arrayp, nilในพื้นที่ minibuffer เมื่อฉันพยายาม$ emacs --debug -initฉันได้: Debugger entered--Lisp error: (wrong-type-argument arrayp nil) package--add-to-archive-contents(nil "melpa") package-read-archive-contents("melpa") package-read-all-archive-contents() package-initialize() eval-buffer(#<buffer *load*> nil "/home/anupam/.emacs" nil t) ; Reading at …
29 package  start-up 

2
เป็นไปได้ไหมที่จะใช้ทั้ง MELPA และ MELPA-เสถียรในเวลาเดียวกัน?
ฉันใช้ Melpa-stable เป็นที่เก็บแพ็กเกจเพิ่มเติม แต่หนึ่งในแพ็คเกจที่ฉันต้องการใช้ (หยาด) ไม่สามารถใช้ได้กับ Melpa-stable มีวิธีใดในการกำหนดค่า package.el ให้ใช้ melpa-stable แต่ใช้ melpa สำหรับชุดย่อยของแพคเกจเฉพาะหรือไม่

6
สลับไปมาระหว่างเค้าโครงหน้าต่าง
เมื่อฉันกำหนดค่าเลย์เอาต์ที่กำหนดเองจากนั้นเพียงแค่ต้องดูชั่วคราวในไฟล์เดียวแบบเต็มหน้าจอและเมื่อฉันต้องการเลย์เอาต์นั้นกลับมา - ฉันต้องทำการรีโฟลด้วยตนเอง ฉันต้องการรหัสปลั๊กอิน / elisp เพื่อบันทึกเลย์เอาต์ของฉันและสามารถสลับไปมาระหว่างเลย์เอาต์ที่บันทึกไว้ได้ UPDATE ขอบคุณทุกคน. ข้อเสนอแนะabo-abo ที่จะใช้โหมดผู้ชนะเป็นสิ่งที่ดีจริงๆและฉันได้รับมันทำงานในเวลาศูนย์ wasamasaแนะนำปลั๊กอินที่ยอดเยี่ยมมากมายที่ฉันไม่เคยได้ยินและให้ข้อมูลวิธีใช้รีจิสเตอร์ Jordon Biondoอธิบายให้ฉันทราบถึงวิธีการใช้รีจิสเตอร์และสิ่งนี้เป็นสิ่งที่ฉันต้องการในวิธีที่ง่ายที่สุด ขอบคุณทุกคน.
24 window  package  frames 

4
วิธีที่ง่ายที่สุดในการดาวน์เกรดแพ็คเกจที่ติดตั้งผ่าน MELPA
บางครั้งการอัปเดตแพ็กเกจจาก MELPA สามารถแบ่งบางส่วนของ emacs และเมื่อเกิดเหตุการณ์เช่นนี้ฉันต้องการที่จะย้อนกลับไปใช้แพ็คเกจรุ่นเก่ากว่า ตอนนี้ฉันสามารถทำได้สองวิธี: ฉันได้ตั้ง emacs เพื่อลบไฟล์โดยการย้ายไปที่ถังขยะและเมื่อฉันอัปเดตแพ็คเกจรุ่นเก่าจะถูกทิ้งในถังขยะ ~/.emacs.d/elpaฉันสามารถเรียกรุ่นเก่าและแทนที่หนึ่งใน ไปที่ repo github ของแพ็คเกจที่ใช้งานไม่ได้, ดึงแพ็คเกจที่เก่ากว่า, แทนที่อันที่หนึ่ง~/.emacs.d/elpaด้วย gitub จากนั้นทำการคอมไพล์ไฟล์อีกครั้ง วิธีการทั้งสองนี้เกี่ยวข้องกับการทำงานด้วยตนเองจำนวนมากซึ่งเคลื่อนไหวไปมา มีวิธีที่ง่ายกว่า (ดีกว่าโดยอัตโนมัติ) ในการดาวน์เกรดแพ็คเกจที่ติดตั้งจาก MELPA หรือไม่?

2
ฉันจะปรับปรุงเวลาเริ่มต้นได้อย่างไรแม้จะมีหลายแพ็คเกจ
TL; DRฉันมีแพคเกจจำนวนมากเช่นนี้ซึ่งทำให้เจ็บเวลาเริ่มต้นของฉัน หากคุณไม่เชื่อว่าเป็นเช่นนั้นอ่านต่อ เวลาเริ่มต้น Emacs ของฉันค่อนข้างเล็ก ฉันไม่ได้ใช้use-packageฉันเพิ่งตั้ง hooks และautoloads หลาย ๆ ตัวเพื่อให้โค้ดเกือบทั้งหมดถูกเลื่อนออกไป ในความเป็นจริงสิ่งต่าง ๆ ถูกโหลดโดยปกติแล้วจะน้อยกว่าครึ่งวินาทีแม้ว่ามันจะดูเหมือนเป็นบ้าก็ตาม แต่เมื่อเวลาผ่านไปผมสังเกตเห็นว่าเวลาเริ่มต้นของฉันได้รับพิถีพิถันช้าลงอย่างลึกลับ สิ่งนี้ได้มาถึงจุดที่เวลาเริ่มต้นคือ≥ 1 วินาที ในที่สุดฉันก็มีเพียงพอและขุดลงไปในรากของปัญหา ในที่สุดฉันก็แสดงความคิดเห็น~/.emacsไฟล์ทั้งหมดของฉันและพบว่าเวลาเริ่มต้นยังคงเป็น≥ 1 วินาที อันที่จริงแล้วมันก็แค่โกนออก ~ 0.2วินาทีบางครั้งก็น้อยลง จากนั้นฉันลองemacs -qและพบว่าเวลาเริ่มต้นคือ ~ 0.1วินาที จากการตรวจสอบในส่วนของคู่มือ Elisp นี้ฉันพบว่าทำไมemacs -qลดเวลาในการเริ่มต้นให้มาก เห็นได้ชัดว่าemacs -qหยุด Emacs จากการทำสามสิ่งเมื่อเริ่มต้น: โหลดไฟล์ init ของคุณ กำลังโหลดdefault.elไฟล์ของคุณ โทร package-initialize เราได้ตัดออกไฟล์ init ของฉันแล้วเนื่องจากการแสดงความคิดเห็นทั้งหมดของฉัน~/.emacsไม่ได้ทำอะไรเลย ฉันไม่ได้ใช้default.elไฟล์เพื่อตัดออกไป ซึ่งปล่อยpackage-initializeให้เป็นผู้กระทำความผิดสำหรับการแสดงยอดฮิต เหตุใดจึงpackage-initializeต้องสละเวลาเริ่มต้นมาก …

3
วิธีการใช้งานโหมดเสียบ?
ฉันกำลังดิ้นรนที่จะใช้โหมดเสียบใน Emacs ฉันดาวน์โหลดและติดตั้งโหมดเสียบผ่าน MELPA ดังนั้นการอ้างอิงทั้งหมดควรเข้าแทนที่ สำหรับวัตถุประสงค์ในการทดสอบผมก็ดาวน์โหลดมาสาธิตboidsjs ฉันจะเปิดขึ้นboids.jsจากนั้นพิมพ์M-xrun-skewer(เปิดเบราว์เซอร์ด้วย URL http://127.0.0.1:8080/skewer/demo) จากนั้นเรียกใช้ในที่สุดM-xskewer-mode(-> เปิดใช้งานโหมดเสียบ) แต่ในเบราว์เซอร์ไม่มีอะไรเกิดขึ้น ผมทำอะไรผิดหรือเปล่า?

3
เหตุใดฉันต้องเพิ่มแต่ละแพ็คเกจลงในโหลดพา ธ (หรือมีปัญหากับ 'แพ็คเกจในไฟล์ init ของฉัน)
ทุกครั้งที่ฉันติดตั้งแพคเกจจากเมนูแพคเกจถ้าฉันลองrequireมันในไฟล์ init ของฉันฉันจะได้รับข้อผิดพลาดยกเว้นว่าฉันจะเพิ่มมันลงในเส้นทางโหลดด้วยตนเอง: (add-to-list 'load-path "/home/nick/.emacs.d/elpa/use-package-20141220.1645") (require 'use-package-autoloads) (require 'use-package) นั่นน่าเบื่อ และโดยปกติเส้นทางแพคเกจประกอบด้วยหมายเลขรุ่น หากมีการอัปเดตแพ็คเกจฉันต้องแก้ไขเส้นทางโหลดด้วยตนเอง มีวิธีใดที่จะทำให้สิ่งนี้เป็นแบบอัตโนมัติหรือไม่?

2
ความแตกต่างระหว่าง init และ config ในแพ็คเกจใช้งาน
ฉันมีการกำหนดค่าเช่นนี้: (use-package html-mode :mode "\\.html\\'" :config (progn (add-hook 'html-mode-hook 'turn-off-auto-fill))) ตอนนี้เมื่อฉันไปและเยี่ยมชมไฟล์ HTML ฉันสังเกตauto-fillว่าไม่ได้ปิดอยู่ แต่ถ้าผมใช้:initแทน:config, auto-fillรับปิด ดังนั้นคำถามของฉันคือเมื่อมีคำสั่งภายใต้:configดำเนิน?

2
ใช้ package.el เพื่อติดตั้งและอัปเดต แต่ใช้แพ็คเกจสำหรับการโหลดและกำหนดค่า
หลังจากเพิ่งเรียนรู้เกี่ยวกับuse-packageฉันตัดสินใจที่จะพอร์ตการกำหนดค่าของฉันไป แต่พบว่าตัวเองลังเลที่จะให้ความสะดวกในpackage.elการติดตั้งแพ็กเกจและปรับปรุงให้ทันสมัยอยู่เสมอ ฉันได้พบมันเล็ก ๆ น้อย ๆ ที่ยุ่งยากในการรวมและuse-packagepackage.el โดยทั่วไปฉันสนใจที่จะเรียนรู้ว่าผู้คนรวมเข้าuse-packageกับpackage.elระบบได้อย่างไร แต่สำหรับคำถามที่เฉพาะเจาะจงกว่านี้ให้อ่านต่อไป นี่คือสิ่งที่ฉันต้องการ: list-packagesจะมีแพคเกจติดตั้งโดยผู้จัดการแพคเกจเพื่อให้สามารถเรียกดูได้อย่างง่ายดายสำหรับแพคเกจและให้พวกเขาปรับปรุงผ่าน ในการกำหนดค่าและโหลดแพคเกจโดยเฉพาะuse-packageดังนั้นฉันสามารถเห็นได้ง่ายในไฟล์ init ของฉันสิ่งที่ฉันกำลังโหลดและวิธีการกำหนดค่า เลือกฉันต้องการที่จะยังสามารถติดตั้งแพคเกจผ่านuse-package's :ensureคำหลัก ถ้าฉันทำความเข้าใจอย่างถูกต้องผมต้องการที่น้อยมากของสิ่งที่package-initializeไม่เพียง load-pathแต่โดยทั่วไปวิธีการที่จะกำหนดขึ้น ขณะนี้ฉันมีสิ่งนี้ในการกำหนดค่าของฉัน: ;(package-initialize) (setq package-enable-at-startup nil) (let ((default-directory "~/.emacs.d/elpa")) (normal-top-level-add-subdirs-to-load-path)) (require 'use-package) บรรทัดแรกที่ถูกคอมเม้นท์ดังนั้น Emacs 25 จะไม่เพิ่ม(package-initialize)ไฟล์ลงในไฟล์ init ของฉันอย่างมีประโยชน์ บิตที่มีnormal-top-level-add-subdirs-to-load-pathคือการประมาณสิ่งที่package-initializeจะทำให้load-pathการประมาณนั้นดูดีพอ ดูเหมือนว่าจะบรรลุความต้องการของฉันที่ 1 และ 2 แต่ไม่ใช่ 3 ถ้าฉันพยายามใช้:ensureฉันได้รับข้อความแสดงข้อผิดพลาดpackage.elว่าไม่ได้เริ่มต้น การโทรpackage-initializeจะแก้ไขปัญหานั้น แต่ฉันต้องการหลีกเลี่ยงสิ่งนั้นนับตั้งแต่) ฉันไม่ต้องการให้โหลดโหลดอัตโนมัติจำนวนมาก (ฉันชอบที่จะใช้use-packageสร้าง autoloads ที่ฉันต้องการได้อย่างแม่นยำ) และ …

2
เมื่อใดที่ฉันควรใช้ with-eval-after-load ในไฟล์กำหนดค่าของฉัน
ฉันไปที่ไฟล์กำหนดค่าของฉันและต้องการล้างข้อมูล ความเข้าใจของฉันwith-eval-after-loadคือว่าร่างกายของมันจะได้รับการประเมินทันทีหลังจากโหลดแพ็คเกจที่เกี่ยวข้อง with-eval-after-loadในขณะที่การทำความสะอาดไฟล์การกำหนดค่าของฉันและแยกพวกเขามากขึ้นผมอยากจะใส่ทุกแพคเกจค่ากับ ทุกอย่างเป็นไปตามที่คาดไว้จนกว่าฉันจะปิดล้อมการกำหนดค่าสำหรับและhelmhelm-projectile นี่คือสิ่งที่ฉันมีอยู่ในใจ ( lisp / init-helm.el ): (with-eval-after-load 'helm (setq helm-mode-line-string "") (add-to-list 'helm-sources-using-default-as-input 'helm-source-man-pages) (define-key global-map (kbd "C-c m") 'helm-imenu) (define-key global-map (kbd "C-x b") 'helm-buffers-list)) (with-eval-after-load 'helm-command (global-set-key (kbd "M-x") 'helm-M-x)) (with-eval-after-load 'helm-projectile (helm-projectile-on)) หลังจากรีสตาร์ท Emacs ฉันได้รับปัญหาขนาดหน้าต่างนี้: นี่คือวิธีปรับขนาดหน้าต่างของฉัน: (set-frame-parameter nil 'fullscreen 'fullboth) ฉันเดาว่าฉันใช้ผิดwith-eval-after-loadวิธีหนึ่งจะทำให้การกำหนดค่า Emacs ของเขาถูกสุขลักษณะและทำให้แน่ใจได้ว่าไม่มีอะไรผิดพลาดไม่ว่าจะติดตั้งแพ็คเกจใด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.