Emacs 27.1中的Emacs包管理失败

Emacs 27.1中的Emacs包管理失败,emacs,magit,melpa,Emacs,Magit,Melpa,我的最终目标是让magit在openSUSE Tumbleweed上再次使用Emacs 27.1,但前面的问题是让(melpa?)包管理工作起来——这就是本文的真正内容。我在使用其他软件包时遇到了这些问题;magit只是一个例子,因为你想要的东西太棒了。我最近没有安装任何带有Emacs26.3的软件包,但我的假设是它还可以。马吉特确实在工作 尝试从裸木开始: rm .emacs rm -r .emacs.d 需要melpa才能获得magit,因此我创建了一个新的.emacs,其中只有以下内容:

我的最终目标是让magit在openSUSE Tumbleweed上再次使用Emacs 27.1,但前面的问题是让(melpa?)包管理工作起来——这就是本文的真正内容。我在使用其他软件包时遇到了这些问题;magit只是一个例子,因为你想要的东西太棒了。我最近没有安装任何带有Emacs26.3的软件包,但我的假设是它还可以。马吉特确实在工作

尝试从裸木开始:

rm .emacs
rm -r .emacs.d
需要melpa才能获得magit,因此我创建了一个新的.emacs,其中只有以下内容:

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
重新启动emacs时,package list命令会显示大量的melpa内容(耶!)。包括马吉特

所以我通过点击安装按钮来安装它(版本20200820.227),当它要求确认时,点击“是”。以下是“消息”缓冲区末尾发生的情况:

此时,magit已“安装”-magit状态甚至起作用。但如果重新启动Emacs,运行magit status会导致:

加载历史文件名元素:错误的类型参数:stringp,(require.info)

…我实际上没有任何Git状态

我得到了一些在启动Emacs 26.3时从未得到过的输出:

Warning: game dir '/var/games/emacs': Permission denied
Loading loadup.el (source)...
dump mode: nil
Using load-path (/usr/share/emacs/27.1/site-lisp /usr/share/emacs/site-lisp /usr/share/emacs/27.1/lisp /usr/share/emacs/27.1/lisp/emacs-lisp /usr/share/emacs/27.1/lisp/progmodes /usr/share/emacs/27.1/lisp/language /usr/share/emacs/27.1/lisp/international /usr/share/emacs/27.1/lisp/textmodes /usr/share/emacs/27.1/lisp/vc)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/byte-run...done
Loading emacs-lisp/backquote...
几个屏幕的“加载”这个和那个;如果有帮助的话,我可以包括更多。我的猜测是,这与新的便携式自卸车有关

在我附近有很多剃干净胡子的牦牛(其余的都很害怕)。尽量避免时间过长

应请求添加新信息:

openSUSE风滚草今天更新到emacs。仍为27.1版,但日期为今天:

GNU Emacs 27.1(版本1,x86_64-suse-linux-GNU,GTK+版本3.24.22,开罗版本1.16.0)2020-08-25

通过错误切换调试来切换调试。不幸的是,安装行为并不新鲜;仍然

异步句柄结果:解析过程中文件结束


再次感谢您的帮助

结果表明/usr/bin/emacs是一个脚本,而不是二进制脚本(我相信对大多数人来说是老消息),它决定了调用emacs的不同方式。对我来说,关键是它最终做到了这一点:

exec-a emacs/usr/bin/emacs gtk

这会导致Emacs发出大量关于“加载”这个和那个的消息,包括loadup.el,最终无法正常处理包(Org和Magit都受到影响,可能还有其他的)

当我调用此选项时:

/usr/bin/emacs gtk

…我没有看到任何“正在加载”的消息。Magit和Org都工作得很好


从我对这个“执行者a”的有限理解来看,似乎“不应该”有这种行为上的差异,所以也许我忽略了我所处环境中的一些愚蠢的事情。但是现在这些东西可以用了。

你能试着克隆Magit repo并将其添加到路径中吗。这将是另一种安装方法。如果重现该错误,请查看
M-x toggle debug on error
是否会为您获取回溯。“解析过程中文件结束”肯定表示某些内容没有正确下载;但我不确定那会是什么。我的
emacs
是实际的二进制文件——这类事情将取决于你如何安装emacs。您可能看到的是openSUSE包所采用的方法。看到消息“include loadup.el”很有趣——这表示未转储的Emacs--
loadup.el
确定转储的可执行文件中将预加载的内容。因此,27.1中的(新的)便携式自卸车可能存在问题。您是否真的通过openSUSE软件包安装了27.1,还是手动将27.1安装在早期Emacs版本的现有openSUSE软件包之上?@phils openSUSE(Tumbleweed)软件包管理(YaST/zypper)处理了Emacs安装,包括对27.1的更新。我认为26.3已经不存在了。对我来说,这听起来像是27.1的新Tumbleweed软件包的问题,或者是旧软件包的升级过程的问题。我建议您与维护软件包的人一起将此日志记录在上游,看看他们是否能看到出现了什么问题,并在将来防止出现问题。已打开
Warning: game dir '/var/games/emacs': Permission denied
Loading loadup.el (source)...
dump mode: nil
Using load-path (/usr/share/emacs/27.1/site-lisp /usr/share/emacs/site-lisp /usr/share/emacs/27.1/lisp /usr/share/emacs/27.1/lisp/emacs-lisp /usr/share/emacs/27.1/lisp/progmodes /usr/share/emacs/27.1/lisp/language /usr/share/emacs/27.1/lisp/international /usr/share/emacs/27.1/lisp/textmodes /usr/share/emacs/27.1/lisp/vc)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/byte-run...done
Loading emacs-lisp/backquote...