2014-03-01 78 views
3

我在我的Ubuntu上安裝了leiningen,但它拋出了「Connection refused」錯誤,當我運行lein repl。這裏的錯誤:lein repl error:連接拒絕

$ 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,但它並沒有解決我的問題。有人知道爲什麼

環境

  • 操作系統:Ubuntu的12.04
  • leningen:Leiningen 2.3.4
  • 的java:1.7.0_21
+0

相同多餘的線條,我不知道很多關於Leiningen,所以我會說可能是完全錯誤的或者多餘的,但已經兩天了:'lein repl'啓動兩個進程,一個客戶端和一個服務器,通過一個tcp端口進行通信。也許你的系統被配置爲阻止Leiningen默認使用的端口。 'lein help repl'顯示如何試用其他端口來查看是否有效。 (然後你可能不得不學習如何改變tcp配置。)你鏈接的github討論提供了其他的實驗方法。 – Mars

回答

6

所有堆棧跟蹤首先缺少Caused by...原始異常。我沒有經歷過,但我已經能夠重現它獲得相同的堆棧跟蹤加上這些行

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 

,如果我從/etc/hosts/文件中刪除我的機器名(i7mito)和我離開它像

127.0.0.1 localhost 

所以我的猜測是,雷音依賴於DNS中解決您的機器名(i7mito我情況)到IP地址。這個名字解析的第一步是你的hosts文件,所以我會先檢查一下。我意識到綁定到本地主機的IP並不重要,它是綁定到hostname命令結果的IP。

所以,如果你確保你的機器名稱映射到/ etc/hosts文件上的127.0.0.1,它可能會工作。如果它沒有檢查你的網絡配置,因爲其他用戶被指出,因爲它似乎有關。

希望它能幫助,當然這也適用,如果你得到的堆棧跟蹤:)

+0

你是對的!非常感謝。我在'/ etc/hosts'中註釋該行# – enyo

+0

您可以投票回答問題,將其標記爲已回答enyo :) –