如何始终获得最新版本的emacs


14

我喜欢使用Emacs,并且希望始终拥有最新版本的Emacs。但是在我的Ubuntu计算机上,Emacs在常规软件更新期间不会自动升级。即使我运行sudo apt-get upgrade emacs它,它也说我拥有最新的Emacs,而我却没有。我看到我正在使用24.4版本的Emacs,而最新版本是24.5。

我已经搜索了将Emacs升级到最新版本的方法,但是找不到任何方法。你能告诉我怎么做吗?


4
这是关于emacs还是关于Ubuntu的存储库的问题?

关于emacs。
Sampath Surineni

Answers:


5

请按照以下指示在下载步骤5和后续步骤中用Ubuntu 24.5代替。


我们需要为每个版本完成整个过程吗?有没有更简单的方法。例如,我们可以通过从帮助菜单中选择升级Eclipse来升级Eclipse
Sampath Surineni

仅在ubuntu存储库未更新为最新版本的情况下。正式版本与ubuntu之类的下游存储库准备好进行自动更新的准备之间通常会有所滞后。
Emacs用户

2
@EmacsUser如果此答案不仅包含链接,而且包含实际说明,则更好。
rekado

1
@rekado,我无权从ubuntu网站复制。如果您这样做,请随时更新我的​​答案。
Emacs用户

2
@EmacsUser:该摘要可能不够详细,以至于某人无法单独使用此答案/评论组合。我要求更多信息,以使将来的读者受益。OP似乎对SE没有经验,因此可能很快就接受了答案。

14

使用GNU Guix,您可以在以后的tarball中轻松地为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 2015年

大!您应该克隆git存储库,并在中的模块文件中添加软件包定义gnu/packages。请参阅手册中有关贡献部分。如果您需要帮助,可以在freenode的#guix IRC频道上询问。
rekado

6

当然,从源代码进行编译是一种选择(对您而言可能显而易见,也可能不明显)。

如果您愿意投资学习如何做,那么您将能够编译和使用您感兴趣的几乎任何版本的Emacs(是否是最新的稳定版本;其中一种“预测试”是针对下一个版本;或源存储库中的最新代码)。


4

对于Ubuntu发行版,您可以安装ubuntu-elisp PPA。目前包含2015年9月19日的Emacs 25.0.50.2。这不是最新的稳定版本,但是我发现它可以很好地工作。安装:

$ 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的最新稳定版本,包括一些依赖项。

我不喜欢在中使用的默认配置参数,因此gsrcconfig.mkgnu/emacs目录中相应地更改了文件。请注意,如果您需要某些第三方非gnu依赖项(即,对于emacs中的图像支持),则这些库需要存在于系统中。


0

Christian Herenz回答提到使用gsrc是保持更新的好方法。过去,我曾经使用过gsrc,尽管有时很难使用。看来他们引入了一个命令行应用程序,以使其在不运行make命令的情况下更易于使用。该文件可能也已经过时,因为旧的make -C gnu/application命令对我完全不起作用。

但是,如果您gsrc在gsrc主目录中使用新的可执行文件,则可以轻松安装和更新软件包,例如:

gsrc install emacs
gsrc update emacs

gsrc 首次安装或重新安装gsrc时会自动安装(我只是重新安装了整个程序)。


-2

升级到最新的Emacs asap并非总是一个好主意。

例如,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支持。
2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.