无法正确连接远程REPL
以下是我要做的步骤:
在此之后,代码中的每个输出仅在本地repl中进行,而在远程中则没有任何内容
我需要的是:查看两个repl实例中的所有输出
我找到了部分解决方案,这段代码将一个repl的输出重新绑定到另一个repl。只需在远程运行它,所有输出都将转到它
(defn rebind-output []
(prn "Rebinding output...")
(System/setOut (PrintStream. (WriterOutputStream. *out*) true))
(System/setErr (PrintStream. (WriterOutputStream. *err*) true))
(alter-var-root #'*out* (fn [_] *out*))
(alter-var-root #'*err* (fn [_] *err*)))
out - 是PrintWriter的实例
但是我需要的是:看两个输出相同的人,怎么做?
我似乎无法想到您对如何连接到现有REPL(使用lein repl
从命令行启动的REPL)感到困惑。您是否查看了Cursive manual中的Remote REPL部分?
通常,您只需要其中一个:
project.clj
文件),或者如果你自己在控制台中启动lein repl
,你会看到它在启动时打印一些消息:
$ lein repl
nREPL server started on port 39919 on host 127.0.0.1 - nrepl://127.0.0.1:39919
在此示例中,服务器开始在端口127.0.0.1
上侦听我自己的主机(localhost
或39919
)(每次使用lein repl
启动REPL时,此端口都会更改)。您需要在Intellij中输入这些值才能连接到此REPL。