我在Ubuntu机器上运行。我安装了emacs23,但看起来nREPL是为使用emacs24而设计的。所以,我卸载了emacs23,安装了emacs24。我删除了我现有的.emacs文件和.emacs.d目录。
然后运行M-x package-list-packages并安装了clojure-mode和nrepl。
我用lein new foobar创建了一个Clojure项目,然后尝试打开默认的core.clj文件。它使我自动进入Clojure模式,但是如果我输入M-x nrepl-jack-in (在core.clj缓冲区中时),它表示为Starting nREPL server...,但我从未看到任何名为*nrepl*的缓冲区(根据阅读文档,这是预期的结果)。我只是在迷你缓冲区中无限期地看到了Starting nREPL server...。
现在,创建了一个名为*nrepl-server* 的缓冲区,它说:
REPL started; server listening on localhost port 5871
Exception Unsupported option(s) supplied: :headless clojure.core/load-libs (core.clj:5266)
clojure.core=>但这似乎不太有用(我似乎不能使它在缓冲区中显示任何内容?!?)。
我试着在谷歌上搜索,但找不到任何似乎有这个问题的人。我想玩Clojure (特别是core.logic ),但是这是完全不可能的。:-(
发布于 2013-09-10 01:20:22
因此,问题是我的Ubuntu版本通过apt-get安装了Leinengen1.7.1,但是如果是I upgrade to version 2,问题就消失了。
总之,问题是这里需要lein版本2+,但是如果您有一个较低的版本,则实际上没有任何明显的错误指示(除非您计算在*nrepl-server*中抛出的异常,这通常是不可见的)。
发布于 2013-09-10 05:05:10
下一次,您还可以尝试在单独的shell中通过lein repl启动nrepl服务器。这样,您就可以看到nrepl是否正在运行以及在哪个端口上运行。在Emacs中,您可以执行M并连接到正确的nrepl服务器实例。
https://stackoverflow.com/questions/18709330
复制相似问题