emacs 為什麽找不到運行程序?
阿新 • • 發佈:2018-01-31
ble tis con mod data- linu 一個 -s 似的
然後用M-x?run-geiser ?發現找不到racket程序. 這時我在想應該emacs裏並沒實用到bash環境裏的PATH,
然後查看exec-path就有了
然後運行M-x run-geiser就OK了
我記得前段時間有個朋友問我為什麽在emacs中打不開matlab程序?明明在terminal下是能打開的,卻在emacs中不行.
今天自己最終遇到了相似的問題,我今天安裝racket 6.0.安裝好後racket程序的運行路徑為/usr/local/racket/bin
然後我將這個路徑增加到PATH裏了,在terminal環境下能打開
接下來安裝Geiser,它是emacs下連接racket的一個插件,它的安裝非常easy,我是把它編譯後的文件放到~/.emacs.d/site-lisp/geiser下
然後在init.el增加下面行,我的配制文件見https://github.com/aborn/emacs.d
(load "~/.emacs.d/site-lisp/geiser/elisp/geiser-load")
然後用M-x?run-geiser ?發現找不到racket程序. 這時我在想應該emacs裏並沒實用到bash環境裏的PATH,
不然為什麽找不到?
上網找到了這兩個鏈接 link1?和 ?link2?,這才發現emacs是運行路徑是由變量exec-path決定的.
然後打開M-x ielm 查看exec-path發現內容例如以下:
exec-path ("/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/usr/lib/emacs/24.3/i686-linux-gnu")
發現並沒有?/usr/local/racket/bin
這種話,僅僅要我們在配制文件init.el裏增加下面行,將路徑/usr/local/racket/bin增加到exec-path裏就能夠了
(add-to-list ‘exec-path "/usr/local/racket/bin")
然後查看exec-path就有了
ELISP> exec-path ("/usr/local/racket/bin" "/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/usr/lib/emacs/24.3/i686-linux-gnu")
然後運行M-x run-geiser就OK了
我的操作系統為Ubuntu 14.04 LTS
emacs 為什麽找不到運行程序?