我用lein创建了一个新项目。我用emacs打开core.clj。我确保运行M-x clojure-mode和M-x nrepl-enable-on-existing-clojure-buffers。
然后运行M-x nrepl-jack-in,并在迷你缓冲区中获得
启动nREPL服务器..。
后面跟着一条信息,例如:
已连接。如果你优化了一切,你肯定会不开心的。-Donald Knuth
我看到缓冲区名为*nrepl*,但缓冲区不包含Clojure,而是完全为空。
如果我输入任何内容(意味着任何内容),我就会得到:
错误类型参数:整数或标记-p,零
如果我切换回我的core.clj缓冲区,然后点击C-c C-l,我就会得到我的缓冲区中的最后一个函数的命名空间名称。如果我把光标放在函数定义的末尾,然后点击C-x C-e,我得到:
CompilerException java.lang.RuntimeException:无法在此上下文中解析符号:x,编译:(NO_SOURCE_PATH:1:1)
我尝试使用lein new project-name创建一个没有依赖项的新的lein目录,并尝试了与上面相同的步骤,得到了相同的结果。
我还能检查什么和/或我做错了什么?
编辑:附加信息
当我在空的*nrepl*缓冲区中键入某些内容并尝试按下我输入的内容的C-x C-e时,在迷你缓冲区中我会得到以下消息:
没有Lisp子进程;请参见变量“下级lisp缓冲区”。
此外,我还在跑步:
GNU Emacs 24.3.1
基于Java 1.6.0_27 OpenJDK 64位服务器VM的Leiningen 2.1.2
发布于 2013-08-13 20:44:05
我只是在我自己的装置上解决了这个问题。将.emacs.d移动到备份位置,并制作.emacs的备份副本。使用只使用.emacs的创建一个新的,如下所示:
(require 'package)
(add-to-list 'package-archives
'("marmalade" .
"http://marmalade-repo.org/packages/"))
(package-initialize)
(require 'clojure-mode)
(require 'nrepl)一旦您通过运行M-x package-list-packages并安装它们各自的条目来安装nrepl和clojure-模式,您将能够使用nrepl。
每次将您的自定义.emacs添加到一个逻辑单元中,您应该能够找出冲突的所在并消除冲突。对任何与污垢/污垢有关的事都要持怀疑态度。
https://stackoverflow.com/questions/18208947
复制相似问题