当我运行cider-jack-in
时,我会收到SocketException
Protocol family unavailable
作为异常消息。
lein repl
在命令行上运行正常。
我已经过网络搜索,发现没有包含“苹果酒”和“苹果酒”的匹配项。并且' SocketException',这总是令人担忧。在我写这篇文章的过程中,在搜索github项目时,以及StackOverflow在这里提出的可能相关问题列表中都没有显而易见的事。
无论是否加载项目文件,我都会收到同样的错误。
我的Emacs会话往往是非常长时间运行(几个月),但我已经检查过,重启后问题仍然相同。
我想到的事情可能在起作用,但我想我可以打折:
AFAIK子网中没有主机(其中包含此主机)在任何接口上都配置了IPv6。
此Emacs与Squid代理服务器在同一主机上运行,但(getenv "no_proxy")
返回逗号分隔的字符串,其中包含localhost
和127.0.0.0/16
,因此没有连接应该请求代理服务器作为连接到同一主机上的nrepl
服务器的一部分。
此主机具有大量自定义的/etc/hosts
文件,但未启用任何IPv6地址映射。
换句话说,它应该是一个纯粹的" IPv4主机。
emacs-version
:24.5.1
cider-version
:0.15.1-snapshot
OS:Linux this-host 4.8.0-2-amd64#1 SMP Debian 4.8.11-1(2016-12-02)x86_64 GNU / Linux
堆栈跟踪标题:
error in process sentinel: nrepl-server-sentinel: Could not start nREPL server: Exception in thread "main" java.net.SocketException: Protocol family unavailable, compiling:(/tmp/form-init7765774181037314573.clj:1:73)
出了什么问题?
答案 0 :(得分:4)
我怀疑苹果酒是否知道或关心你的系统是否纯粹是ipv4;它仍然
似乎默认尝试使用ipv6,在苹果酒的启动消息中显示为
lein ... repl ... :host ::
(::
是ipv6等效表示法
到localhost)。为了我的
这种情况很简单,只需在我的系统上启用ipv6即可
可以改为按suggestions in this
issue设置
cider-lein-parameters
至repl :headless :host localhost
。