Can';t在Emacs中启动'lein'REPL
在Emacs中,当使用Can';t在Emacs中启动'lein'REPL,emacs,clojure,leiningen,Emacs,Clojure,Leiningen,在Emacs中,当使用clojure模式时,我应该能够使用C-C-z启动REPL。但是,每当我尝试时,都会出现错误: Searching for program: no such file or directory: lein 我将lein安装在/usr/local/bin(通过brew)中,/usr/local/bin位于我的路径中(甚至Emacs也这样说,通过eval表达式(getenv“PATH”)) 我错过了什么?啊!PATH环境变量不是emacs搜索路径的全部和全部。还有“执行路径”
clojure模式时,我应该能够使用C-C-z
启动REPL。但是,每当我尝试时,都会出现错误:
Searching for program: no such file or directory: lein
我将lein
安装在/usr/local/bin
(通过brew
)中,/usr/local/bin
位于我的路径中(甚至Emacs也这样说,通过eval表达式(getenv“PATH”)
)
我错过了什么?啊!PATH
环境变量不是emacs搜索路径的全部和全部。还有“执行路径”。显然是这样
无论如何,添加:
(add-to-list 'exec-path "/usr/local/bin")
到我的.emacs.d/init.el
(或者.emacs
,如果你是这样滚动的)为我清理了一切。上面链接的文档提出了更全面的建议,如:
(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))
(setq exec-path (append exec-path '("/usr/local/bin")))
首先,我会尝试(更简单的)添加到列表中。但是YMMV.我也有同样的问题,开始调查到底是什么问题。
我很快发现我的exec路径如下所示(简化示例):
它是一个只有一个长字符串的列表,而不是一个单独路径的列表。
我的env PATH变量看起来完全相同。很明显,问题出在我身上
我用鱼壳。它的路径变量分隔符只是一个空格。
我使用的shell包中的exec路径无法解析它。
我通过将其附加到我的.emacs.d/init.el中修复了它:
(setq exec-path (split-string (car exec-path)))
更新:
最后,它是一个来自shell包的过时exec路径。使用1.8版。它与鱼(和tcsh)配合使用效果很好 A我在这里提出了一个像你这样的问题:。也许answare可以帮你
(setq exec-path (split-string (car exec-path)))