[英]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.