简体   繁体   中英

Mac OSX, Emacs 24.2 and nrepl.el not working

I'm using nrepl.el , Emacs 24.2 . My SO version is OS X Lion 10.7.5.

Running the command [Mx] nrepl after start a REPL session through lein (:~ $ lein repl) i am able to connect to it but if i try to use [Mx] nrepl-jack-in i get the message bellow:

error in process sentinel: Could not start nREPL server: /bin/bash: lein: command not found

I installed leiningen using the instructions in the main site and reinstalled it using homebrew with the command brew install leiningen --devel but both methods give me the same error.

Adding the path /usr/loca/bin to emacs exec-path list or trying to configure nrepl.el variable nrepl-lein-command to point to the full path of my lein installation does not help.

My emacs configuration can be found here: https://github.com/khaoz/emacs-files

What i'm doing wrong ?

Thanks :)

for those of you landing on this question who are using a Mac:

lein needs to be on the path as seen by Emacs. This can be done by starting Emacs from bash

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

then: Mx nrepl-jack-in

If this solves the problem you can configure emacs to use the correct path by following these instructions

While @Arthur is correct a much simpler solution to your problem would be to install the exec-path-from-shell Emacs extension. It will copy your shell PATH (and MANPATH ) to Emacs automatically and fairly reliably. This means that the PATH would be correct no matter where you started Emacs from (spotlight included).

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

I had to do this:

;; 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))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM