簡體   English   中英

在 OSX 上運行 Emacs GUI 時無法找到 Agda 模式二進制文件

[英]Cannot locate Agda mode binary when running Emacs GUI on OSX

Emacs(來自https://emacsformacosx.com/ )和 Agda(通過自制軟件)都安裝得很好。 但是,在運行agda-mode setup后啟動 Emacs 時,我收到以下錯誤:

Warning (initialization): An error occurred while loading ‘/Users/user/.emacs’:

File is missing: Cannot open load file, No such file or directory, /Users/user/zsh:1: command not found: agda-mode

Emacs 的終端版本正確加載了 Agda 模式,我嘗試了 exec-path-from-shell -library 但沒有成功。

我的.emacs 有以下內容:

(package-initialize)
(load-file
 (let ((coding-system-for-read 'utf-8))
   (shell-command-to-string "agda-mode locate")))
(when (memq window-system '(mac ns x))
  (exec-path-from-shell-initialize))

有沒有人有同樣的問題/知道如何解決它或它來自哪里? 提前致謝!

在 MacOS Catalina 和 GNU emacs 上遇到了同樣的問題。 原來是像@viam0Zah 建議的路徑問題。 這是為我解決的問題:

在終端中,運行echo $PATH並與agda-mode locate進行比較,以確定查找 agda-mode 所需的路徑。 對我來說,它是/Users/aransil/.cabal/bin

在 GNU emacs 中,使用(shell-command-to-string "echo $PATH")來驗證路徑變量是否不同並且不包括/Users/aransil/.cabal/bin

回到終端,編輯~/.zshenv通過添加行export PATH=/Users/aransil/.cabal/bin:$PATH

重啟 GNU emacs

這個答案有點晚了,但萬一其他人有同樣的問題。 相信大家的思路是正確的,就是路徑問題。 在 macOS 上,從 GUI 開始的東西沒有完整的 shell 路徑。 .emacs文件中的這個 sexpr 應該可以解決這個問題:

(when (memq window-system '(mac ns x))
  (exec-path-from-shell-initialize))

問題是修復發生在 .emacs 文件中的load-file文件之后。 所以錯誤發生在路徑修復之前。 如果將該表達式移到文件頂部,我認為問題將得到解決。

暫無
暫無

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

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