ฉันจะมี emac รุ่นล่าสุดได้อย่างไร


14

ฉันชอบใช้ Emacs และฉันต้องการให้ Emac รุ่นล่าสุดอยู่เสมอ แต่ในเครื่อง Ubuntu ของฉัน Emacs จะไม่ได้รับการอัพเกรดโดยอัตโนมัติในระหว่างการอัพเดตซอฟต์แวร์ปกติ แม้กระทั่งตอนที่ฉันวิ่งsudo apt-get upgrade emacsมันก็บอกว่าฉันมี Emacs รุ่นล่าสุดในขณะที่ฉันไม่มี ฉันเห็นว่าฉันใช้ Emacs เวอร์ชั่น 24.4 ในขณะที่รุ่นล่าสุดคือ 24.5

ฉันค้นหาวิธีอัปเกรด Emacs เป็นเวอร์ชั่นล่าสุดแล้ว แต่หาไม่เจอ คุณช่วยบอกวิธีการทำเช่นนั้นได้ไหม


4
นี่เป็นคำถามเกี่ยวกับ emac หรือเกี่ยวกับที่เก็บของ Ubuntu หรือไม่?
ด่าน

มันเกี่ยวกับ emacs
Sampath Surineni

คำตอบ:


5

ทำตามคำแนะนำเหล่านี้เพื่อแทนที่Ubuntu 24.5 ในขั้นตอนการดาวน์โหลด 5 และขั้นตอนถัดไป


เราจำเป็นต้องผ่านกระบวนการทั้งหมดสำหรับทุกรุ่นหรือไม่? ไม่มีวิธีที่ง่ายกว่านี้อีกแล้ว ตัวอย่างเช่นเราสามารถอัปเกรด eclipse ได้โดยเลือก upgrade eclipse จากเมนูช่วยเหลือ
Sampath Surineni

เฉพาะบางครั้งเมื่อที่เก็บ ubuntu ไม่ได้รับการอัพเดตเป็นล่าสุด มักจะมีความล่าช้าระหว่างการเปิดตัวอย่างเป็นทางการและเมื่อที่เก็บดาวน์สตรีมเช่นอูบุนตูเตรียมให้พร้อมสำหรับการอัพเดทอัตโนมัติที่ฉลาด -
ผู้ใช้ Emacs

2
@Emacs ผู้ใช้คำตอบนี้จะดีกว่าถ้ามันไม่ใช่แค่ลิงค์ แต่เป็นคำแนะนำที่แท้จริง
rekado

1
@rekado ฉันไม่ได้รับอนุญาตให้คัดลอกจากเว็บไซต์ ubuntu หากคุณเป็นเช่นนั้นโปรดอัปเดตคำตอบของฉัน
ผู้ใช้ Emacs

2
@EmacsUser: สรุปนั้นอาจไม่ละเอียดพอที่จะมีคนใช้คำตอบ / คอมโบคอมเม้นท์นี้ด้วยตัวเอง ฉันขอข้อมูลเพิ่มเติมเพื่อประโยชน์ของผู้อ่านในอนาคต OP ดูเหมือนจะไม่มีประสบการณ์กับ SE และอาจยอมรับคำตอบเร็วเกินไป
ด่าน

14

ด้วยGNU Guixคุณสามารถนำข้อกำหนดแพคเกจสำหรับ Emacs กลับมาใช้ใหม่ได้อย่างง่ายดาย

guix build emacs --with-source=http://some/emacs/tarball.tar.xz

หรือเพื่อติดตั้งลงในโปรไฟล์เริ่มต้นของคุณโดยตรง:

guix package -i emacs --with-source=http://some/emacs/tarball.tar.xz

Emacs 24.5 มีให้บริการแล้วผ่าน Guix ดังนั้นคุณจะต้องเรียกใช้

guix package -i emacs

เพื่อติดตั้งเวอร์ชันล่าสุด

แม้ว่า Guix ไม่ได้เสนอรุ่นล่าสุดที่คุณคลาวด์สร้างตัวแปรแพคเกจได้ง่ายเช่นนี้

(define-public my/emacs
  (package (inherit emacs)
    (name "custom-emacs")
    (version "25.7")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/emacs/emacs-"
                                  version ".tar.xz"))
              (sha256
               (base32
                "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))))))

คุณสามารถใช้ Guix เป็นผู้จัดการแพ็คเกจบน Ubuntu หรือระบบ GNU อื่น ๆ


เยี่ยมมากฉันอ่านเกี่ยวกับ guix มาก่อนและตอนนี้ฉันลองทำดูโพสต์ของคุณและทุกอย่างใช้งานได้ดี :) คุณมีลิงค์ / แหล่งข้อมูลวิธีเริ่มต้นใช้ guix และสร้างแพ็คเกจสำหรับใช้และมีส่วนร่วมกับที่เก็บ ?
clemera

ที่ดี! gnu/packagesคุณควรจะโคลนเก็บคอมไพล์และเพิ่มคำจำกัดความของแพคเกจในแฟ้มโมดูลใน ดูในส่วนการมีส่วนร่วมในคู่มือ หากคุณต้องการความช่วยเหลือคุณสามารถถามช่อง #guix IRC บน freenode
rekado

6

การรวบรวมจากแหล่งที่มาเป็นตัวเลือกแน่นอน (ซึ่งอาจหรืออาจไม่ชัดเจนสำหรับคุณ)

หากคุณยินดีที่จะลงทุนในการเรียนรู้วิธีการทำเช่นนั้นคุณจะสามารถรวบรวมและใช้ Emacs รุ่นใดก็ได้ที่คุณสนใจ (ไม่ว่าจะเป็นรุ่นที่เสถียรล่าสุดหรือเป็นหนึ่งใน "pretest" ที่สร้างขึ้นสำหรับ รุ่นถัดไปหรือรหัสล่าสุดจากแหล่งเก็บข้อมูล)


4

สำหรับการกระจายอูบุนตู, คุณสามารถติดตั้งอูบุนตู-Elisp PPA ขณะนี้มันมี Emacs 25.0.50.2 ตั้งแต่ 2015-09-25 นี่ไม่ใช่รุ่นที่เสถียรล่าสุด แต่ฉันพบว่าทำงานได้ดีพอ ติดตั้ง:

$ sudo apt-add-repository ppa:ubuntu-elisp/ppa
$ sudo apt-get update
$ sudo apt-get install emacs-snapshot

จากนั้นเรียก Emacs เป็นแทนemacs-snapshot emacsวิธีนี้คุณสามารถมีทั้งแบบมีเลือดออกและแบบเสถียรพร้อมกัน

การอัปเดตใหม่จะถูกดึงลงมาจากกระบวนการอัปเดตปกติของ Ubuntu


ฉันไม่แนะนำ PPA นี้ มันสร้างไม่บ่อยนักโดยเฉพาะอย่างยิ่งสำหรับ Ubuntu รุ่นเก่า ดูวันที่ของบิลด์ล่าสุดสำหรับเวอร์ชัน LTS ปัจจุบัน
Lunaryorn

มันค่อนข้างล้าหลังสำหรับ LTS แต่มันอัพเดทบ่อยครั้งสำหรับ Ubuntu ล่าสุด
erikstokes

2

ฉันใช้gsrcสำหรับสิ่งนี้ เพียงทำตามคำแนะนำบนเว็บไซต์ - และอย่าลืมอ่านคู่มือ โดยทั่วไปเมื่อคุณมีการทำงานgsrcคุณสามารถพิมพ์

make -C gnu/emacs

และเวอร์ชั่นที่เสถียรล่าสุดของ emacs จะถูกดาวน์โหลดและเรียบเรียงให้คุณรวมถึงการพึ่งพาบางส่วน

ฉันไม่ชอบพารามิเตอร์การกำหนดค่าเริ่มต้นที่ใช้ในgsrcดังนั้นฉันจึงแก้ไขconfig.mkไฟล์ตามในgnu/emacsไดเรกทอรี โปรดทราบว่าหากคุณต้องการการพึ่งพาที่ไม่ใช่ของบุคคลที่สาม (เช่นสำหรับการสนับสนุนภาพใน emacs) ไลบรารีเหล่านี้จำเป็นต้องมีอยู่ในระบบของคุณ


0

Christian Herenz ตอบว่าการใช้ gsrc เป็นวิธีที่ดีในการติดตามความเคลื่อนไหว ในอดีตที่ผ่านมาฉันใช้ gsrc แล้วแม้ว่าบางครั้งมันก็ยากที่จะใช้ ดูเหมือนว่าพวกเขาได้แนะนำแอปพลิเคชันบรรทัดคำสั่งเพื่อให้ใช้งานง่ายขึ้นโดยไม่ต้องรันmakeคำสั่ง เอกสารนอกจากนี้ยังอาจจะออกจากวันตั้งแต่เก่าmake -C gnu/applicationคำสั่งจะไม่ทำงานเลยสำหรับผม

อย่างไรก็ตามหากคุณใช้gsrcไฟล์ปฏิบัติการใหม่ในไดเรกทอรี gsrc หลักคุณสามารถติดตั้งและอัพเดทแพ็คเกจได้อย่างง่ายดายเช่น:

gsrc install emacs
gsrc update emacs

gsrc ถูกติดตั้งโดยอัตโนมัติเมื่อคุณติดตั้งหรือติดตั้ง gsrc ใหม่เป็นครั้งแรก (ฉันเพิ่งติดตั้งใหม่ทั้งหมด)


-2

การอัพเกรดเป็น Emacs ล่าสุดนั้นไม่ใช่ความคิดที่ดีเสมอไป

ตัวอย่างเช่น Emacs 24.4 มีข้อผิดพลาดที่จะทำให้M-xล้มเหลวหากใช้โหมดความชั่วร้าย ( https://bitbucket.org/lyro/evil/issues/437/mx-is-undefined-in-emacs-244 )

จากประสบการณ์ของฉันดีกว่าที่จะรอ 6 เดือนเพื่อให้ปลั๊กอินของบุคคลที่สามใช้เวลาบัฟเฟอร์เพื่อแก้ไขปัญหาความเข้ากันได้

แต่ถ้าคุณไม่สนใจปัญหาข้างต้น นี่คือวิธีที่ง่ายที่สุดในการติดตั้งจากซอร์สโค้ด

ติดตั้ง Emacs ลงในไดเรกทอรี HOME ของคุณ:

mkdir -p ~/myemacs24.5; ./configure --prefix=~/myemacs/24.5 --without-gtk --without-gtk3 --without-aqua --without-x --without-xpm --without-png --without-gif --without-alsa --without-tiff --without-jpeg --without-aqua --without-rsvg --without-xft --without-xaw3d --without-xim --without-xpm --without-dbus --without-makeinfo --with-x-toolkit=no --without-sound --without-sync-input --without-pop;make;make install

ติดตั้ง Emacs ลงในไดเรกทอรีเริ่มต้น:

./configure --without-gtk --without-gtk3 --without-aqua --without-x --without-xpm --without-png --without-gif --without-alsa --without-tiff --without-jpeg --without-aqua --without-rsvg --without-xft --without-xaw3d --without-xim --without-xpm --without-dbus --without-makeinfo --with-x-toolkit=no --without-sound --without-sync-input --without-pop;make;sudo make install

ฉันมั่นใจ 100% ว่าวิธีการของฉันจะใช้ได้เสมอเพราะฉันใช้วิธีนี้กับ Ubuntu / Mint / Debian / Centos / Gentoo / ArchLinux เป็นเวลา 4 ปีโดยไม่มีปัญหาใด ๆ


5
เพื่อประโยชน์ของผู้คนใหม่ ๆ ในกระบวนการรวบรวม Emacs โปรดทราบว่าวิธีการข้างต้นทำให้เกิดการปฏิบัติการที่ไม่มีการสนับสนุนด้านกราฟิกเสียงหรือ GUI
phils
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.