簡體   English   中英

Emacs package 管理失敗 Emacs 27.1

[英]Emacs package management failure in Emacs 27.1

我的最終目標是讓 magit 在 openSUSE Tumbleweed 上再次與 Emacs 27.1 一起工作,但在此之前的問題是讓(melpa?)package 管理工作 - 所以這就是這篇文章的真正目的。 我在使用其他軟件包時遇到了這些問題; magit 只是一個例子,因為想要太棒了。 我最近沒有使用 Emacs 26.3 安裝任何軟件包,但我的假設是沒問題。 馬吉特肯定在工作。

嘗試從裸木開始:

rm .emacs
rm -r .emacs.d

需要 melpa 來獲得 magit,所以我創建了一個 new.emacs,里面只有這個:

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

重新啟動 emacs,package-list 命令顯示其中有大量的 melpa 東西(是的。)。 包括魔法!

因此,我通過單擊“安裝”按鈕安裝它(版本 20200820.227),然后在要求確認時單擊“是”。 以下是“消息”緩沖區末尾發生的情況:

Wrote /home/tcarroll/.emacs.d/elpa/magit-20200820.227/magit-autoloads.el [2 times]
Loading async...done
Contacting host: melpa.org:80

error in process sentinel: async-handle-result: End of file during parsing
error in process sentinel: End of file during parsing

此時 magit 已“安裝” - magit-status 甚至可以工作。 但是如果我重新啟動 Emacs,運行 magit-status 會導致:

load-history-filename-element: Wrong type argument: stringp, (require. info)

...而且我實際上沒有獲得任何 Git 狀態。

一些 output 我得到了我不記得在開始時得到的 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...

幾個屏幕的“正在加載”這個那個; 如果有幫助,我可以包括更多。 我的猜測是這與新的便攜式翻斗車有關?

我附近有很多剃光的氂牛(rest 很害怕)。 試圖防止它變得太長。

根據要求添加新信息:

openSUSE Tumbleweed 今天更新到 emacs。仍然是 27.1 版,但日期是今天:

GNU Emacs 27.1 (build 1, x86_64-suse-linux-gnu, GTK+ Version 3.24.22, cairo version 1.16.0) of 2020-08-25

通過 toggle-debug-on-error 切換調試。 不幸的是,安裝行為並不是什么新鮮事; 仍然

async-handle-result: End of file during parsing

再次感謝您的幫助!

事實證明 /usr/bin/emacs 是一個腳本而不是二進制文件(我敢肯定,對你們大多數人來說都是舊新聞)並且它決定調用 Emacs 的不同方式。對我來說,關鍵是最后它做這個:

exec -a emacs /usr/bin/emacs-gtk

這會導致 Emacs 發出大量關於“正在加載”這個那個的消息,包括 loadup.el,並最終無法正常處理包(Org 和 Magit 都受影響,可能還有其他)。

當我改為調用它時:

/usr/bin/emacs-gtk

...我沒有看到任何“正在加載”消息。 Magit 和 Org 都工作正常。

從我對這個“exec -a”的有限理解來看,似乎“不應該”在行為上存在這種差異,所以也許我忽略了我環境中的一些愚蠢的事情。 但是現在東西可以用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM