[英]Can't get nrepl working in Emacs
我在Ubuntu机器上运行。 我安装了emacs23
,但看起来nREPL
设计用于emacs24
。 所以,我卸载了emacs23
,安装了emacs24
。 我删除了现有的.emacs
文件和.emacs.d
目录。
然后我运行了Mx package-list-packages
并安装了clojure-mode
和nrepl
。
我用lein new foobar
创建了一个Clojure项目,然后尝试打开默认的core.clj
文件。 它让我自动进入Clojure模式,但如果我输入Mx 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
),但这是一个完全不起作用的。 :-(
所以,事实证明问题是我的Ubuntu版本通过apt-get
安装了Leinengen 1.7.1但是如果我升级到版本2 ,问题就消失了。
总之,问题是lein
版本2+在这里是必需的,但如果你有一个较低的版本,你真的没有得到任何错误的可见指示(除非你计算在*nrepl-server*
抛出的异常,这是通常不可见。
下次你也可以尝试通过lein repl
在一个单独的shell中启动nrepl-server。 通过这种方式,您可以查看nrepl正在运行的端口和端口。 在Emacs中,您可以执行Mx nrepl并连接到正确的nrepl服务器实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.