10

我正在使用nrepl.elEmacs 24.2。我的 SO 版本是 OS X Lion 10.7.5。

在通过lein[M-x] nrepl启动REPL会话后运行命令,我可以连接到它,但如果我尝试使用,我会收到以下消息: (:~ $ lein repl)[M-x] nrepl-jack-in

进程前哨错误:无法启动 nREPL 服务器:/bin/bash:lein:找不到命令

我使用主站点中的说明安装了 leiningen,并使用homebrew命令重新安装了它,brew install leiningen --devel但两种方法都给了我同样的错误。

将路径添加/usr/loca/bin到 emacsexec-path列表或尝试将nrepl.el变量配置nrepl-lein-command为指向我的 lein 安装的完整路径无济于事。

我的 emacs 配置可以在这里找到:https ://github.com/khaoz/emacs-files

我做错了什么?

谢谢 :)

4

4 回答 4

13

虽然@Arthur 是正确的,但解决您的问题的一个更简单的方法是安装exec-path-from-shell Emacs 扩展。它会自动且相当可靠地将您的 shell PATH(和MANPATH)复制到 Emacs。这意味着PATH无论您从哪里开始 Emacs(包括聚光灯),这都是正确的。

于 2012-11-06T06:18:54.707 回答
12

对于那些使用 Mac 遇到这个问题的人:

lein 需要在 Emacs 看到的路径上。这可以通过从 bash 启动 Emacs 来完成

/Applications/Emacs.app/Contents/MacOS/Emacs project.clj

然后: M-xnrepl-jack-in

如果这解决了问题,您可以按照这些说明配置 emacs 以使用正确的路径

于 2012-11-06T01:26:29.207 回答
2

如果您在 Linux 中看到此错误,则在从菜单而不是 shell 运行 emacs 时,您可能需要在 ~/.bash_profile 而不是 ~/.bashrc 中设置 PATH。

于 2013-03-22T23:14:39.230 回答
1

我不得不这样做:

;; set the path as terminal path [http://lists.gnu.org/archive/html/help-gnu-emacs/2011-10/msg00237.html]
(setq explicit-bash-args (list "--login" "-i"))

;; fix the PATH variable for GUI [http://clojure-doc.org/articles/tutorials/emacs.html#osx] 

(defun set-exec-path-from-shell-PATH ()
  (let ((path-from-shell
         (shell-command-to-string "$SHELL -i -l -c 'echo $PATH'")))
    (setenv "PATH" path-from-shell)
    (setq exec-path (split-string path-from-shell path-separator))))

(when window-system (set-exec-path-from-shell-PATH))
于 2013-03-31T09:29:09.943 回答