我在我的Ubuntu上安装了leiningen,但是当我运行lein repl
时,它会抛出“Connection refused”错误。这是错误:
$ lein repl
Exception in thread "Thread-4" java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at clojure.tools.nrepl$connect.doInvoke(nrepl.clj:184)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.tools.nrepl.ack$send_ack.invoke(ack.clj:47)
at clojure.tools.nrepl.server$start_server.doInvoke(server.clj:146)
at clojure.lang.RestFn.invoke(RestFn.java:619)
at user$eval540.invoke(NO_SOURCE_FILE:0)
at clojure.lang.Compiler.eval(Compiler.java:6619)
at clojure.lang.Compiler.eval(Compiler.java:6609)
at clojure.lang.Compiler.eval(Compiler.java:6582)
at clojure.core$eval.invoke(core.clj:2852)
at leiningen.core.eval$fn__3577.invoke(eval.clj:304)
at clojure.lang.MultiFn.invoke(MultiFn.java:231)
at leiningen.core.eval$eval_in_project.invoke(eval.clj:326)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:619)
at leiningen.repl$server$fn__7443.invoke(repl.clj:201)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.AFn.applyTo(AFn.java:151)
at clojure.core$apply.invoke(core.clj:617)
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1788)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at clojure.lang.AFn.applyToHelper(AFn.java:163)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.core$apply.invoke(core.clj:621)
at clojure.core$bound_fn_STAR_$fn__4102.doInvoke(core.clj:1810)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:722)
我在github看到了这样的问题:lein repl error,但它并没有解决我的问题。谁知道为什么?
环境
答案 0 :(得分:6)
首先,你的堆栈跟踪缺少Caused by...
原始异常。我没有遇到过它,但我能够重现它获得相同的堆栈跟踪j加上这些行
Caused by: java.net.UnknownHostException: i7mito: System error
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:894)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1286)
at java.net.InetAddress.getLocalHost(InetAddress.java:1462)
... 36 more
如果我从i7mito
文件中删除了我的计算机名称(/etc/hosts/
),我将其保留为
127.0.0.1 localhost
所以我的猜测是,lein依靠DNS将您的计算机名称(在我的情况下为i7mito
)解析为IP地址。此名称解析的第一步是您的hosts文件,所以我先检查一下。我意识到绑定到localhost的IP并不重要,它是绑定到hostname
命令结果的IP。重要的是。
因此,如果您确保您的计算机名称已映射到/ etc / hosts文件上的127.0.0.1,则它可能会起作用。如果它没有检查您的网络配置,因为它似乎与其他用户有关。
希望它有所帮助,当然,如果你在stacktrace上得到相同的额外行,这适用:)