问题标签 [nrepl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - 有没有办法从 Vim Fireplace 自动连接到 nREPL?
我正在lein repl
一个项目中运行,它成功启动并创建了文件 target/repl-port.
使用 VIM 7.4.86 版,我可以使用如下命令:
:Connect nrepl://localhost:57644
然后 Vim 成功连接到 repl,一切都很好。
但是,我的理解是 vim-fireplace 能够使用 target/repl-port 文件自行建立这种连接。那没有发生。我确实看到了关于 lein 2.3 更改为使用 target/repl/repl-port 的评论(我在这个项目中使用 lein 2.0.0 - 这是我无法控制的要求)所以我尝试在这个位置创建一个符号链接,但是那也没有被捡起来。
我使用的 vim-fireplace 版本来自:
github.com/tpope/vim-fireplace
在最新的提交中,目前是:
我希望自动化这种连接。我对 VIMscript 不是很感兴趣,所以我希望可能有某种方法来追踪问题,而不必深入研究源代码。
clojure - 使用 ring/compojure 连接到 clojure nREPL 的问题
在 Java 1.7.0_21 Java HotSpot(TM) 64 位服务器 VM 上运行 Leiningen 2.3.4
我无法连接到 nREPL 服务器。
我使用 设置了一个新项目lein new luminus
,然后将依赖项添加到吊桥 ( [com.cemerick/drawbridge "0.0.6"]
)。
我为 repl 添加了一个处理程序路由,如下所示(基于https://devcenter.heroku.com/articles/debugging-clojure):
并添加wrap-drawbridge
到我的中间件中。
然后我使用启动服务器
lein ring server-headless
连接似乎运行良好,因为执行 GET 请求会http:localhost:3000/repl
产生响应:["[\n","\n]"]
但我无法连接到 REPL:
而且,过了一段时间:
我错过了什么吗?
编辑:
将以下日志记录代码添加到我的处理程序:
按照建议连接时lein repl :connect http://localhost:3000/repl
,我看到IN REPL
在服务器控制台上以无限循环打印该行。
emacs - Cider:评估 REPL 中的表格前一点
在 nREPL 中,用户可以简单地 Cx Ce 在运行的 REPL 中评估前面的形式。
但是,在 Cider 中,似乎只有一种方法可以评估回声区域或弹出缓冲区中的表单。
真的是这样吗?
请有人纠正我,因为这是一个有用的功能。
emacs - Clojure:是否有 Java 函数的文档,例如 Math/exp?
我希望(doc Math/exp)
能给我一些东西,但它没有。当然它不是 Clojure 函数,但仍然应该有一些方法可以访问文档。
我能得到的最接近的东西是(javadoc Math)
. 我更喜欢该页面中的实际文档作为字符串:
UPD:反射签名
以下是我如何获得签名:
我希望有一种类似的方式来获取文档。
UPD:通过反射没有文档
根据问题如何通过反射阅读 Javadoc 注释?,不可能通过反射获得文档。我想知道是否可以重用一些确实可以访问文档的 Eclipse 代码。
clojure - Clojure Light Table 客户端-服务器方法之谜
如何设置它,以便我可以在 Mac 上使用 Light Table,连接到 Ubuntu 托管的 nREPL,并创建一个新的 program/project.clj?任何人都可以帮助我了解我的方法应该是什么,以及我哪里出错了?
我有一个在 VirtualBox 中的 Ubuntu 服务器,还有 Leiningen、Pedestal 和一个在浏览器中显示的基座“helloworld”示例程序。我只是无法连接到运行 helloworld 程序的同一个 REPL。我没有对服务器端对象的客户端访问或控制。
我想从我的 Mac 主机 LT 进行客户端-服务器 Clojure 开发,创建可以在 REPL 中查看的服务器端程序。
我发现 LT 在这方面并不直观,而且我读过的建议仅表明 LT 将连接到现有项目/REPL。我想从客户端创建新对象
clojure - 如何在远程 REPL 中编译命名空间
我在编译.clj
驻留在运行 nREPL 服务器进程的项目中的文件时遇到问题:
- 我已经使用
lein new xxx
. - 在项目文件夹中,我启动了一个 nREPL
lein repl
。 - 在另一个终端窗口中,我启动了一个客户端
lein repl :connect localhost:12345/repl
。 我创建了一个简单的命名空间文件并将其保存在项目中的适当位置:
/li>现在在客户端我调用了这个函数
/li>
我有以下例外:
现在我本来希望编译调用在服务器而不是客户端上执行。可以做到吗?
谢谢
clojure - 使用 Lein 和 Ring 在 Clojure 中丢失 *out*
我正在运行 Lein 2 和苹果酒 0.7.0。我制作了一个使用 ring/run-jetty 启动的示例环应用程序。
然后用苹果酒连接到它,例如:
我可以在 emacs 中导航到我的站点和评估表单,它会更新我的 nrepl 会话中正在运行的内容,这很棒。
我看不到输出,无论是(print "test") (println "test") (trace "out" 1)
最后,我的项目文件:
我开始网站lein run
编辑
我可以看到输出,仅在使用时(.println System/out msg)
clojure - 从另一个容器连接到在 Docker 容器中运行的无头 nREPL
我正在尝试从 Docker 容器连接到 nREPL,该容器在端口 7888 上运行另一个链接的 Docker 容器。尽管使用 暴露端口-p 7888
,使用 Docker 注入的环境主机和端口变量链接容器-link <first_container_name>:repl
,我得到了“连接被拒绝”。错误。
这是我运行第一个容器的方式:
第二个容器:
为什么我的连接被拒绝?我能够在 Docker 容器之间连接其他服务,例如 AMQP。
emacs - Clojure - 连接问题重新运行 cider-jack-in
我最近开始在 Emacs 24 下使用 CIDER。我的工作流程包括通过 Tramp 访问远程服务器,然后执行cider-jack-in
以在该服务器上运行连接到 Clojure 的nREPL服务器。如果我在新的 Emacs 实例中运行它,一切都很好。但是,如果由于某种原因连接断开或我使系统休眠,我将无法重新启动 REPL。我收到以下消息:
我怀疑这与连接端口仍被前一个实例阻止有关,特别是因为新的连接尝试在同一个端口号上。有没有一种简单的方法可以完全释放以前使用的端口和/或强制 CIDER 尝试使用不同的端口?也许您对使用 CIDER 进行远程工作有其他建议。非常感谢任何帮助。
testing - 带有 emacs、nREPL 和 clojure.test 的可导航 clojure 堆栈跟踪
我通过 cider 将 emacs 与 nREPL 一起使用,并且我有一套基于 clojure.test 的测试,我运行这些测试以查看我什么时候破坏了东西(这很多,因为我对 clojure 还很陌生。)我尝试了两种方法来运行这些测试——第一种是调用外部“lein test”命令,第二种是使用clojure-test——两种方法都可以,但都没有给出完全令人满意的结果。我想要的是能够“导航”测试结果,即单击故障和堆栈跟踪以找到故障源。
我已经对 clojure-stacktrace-mode 进行了一些研究,但是,虽然相当令人印象深刻,但这似乎只适用于在 nREPL 缓冲区中生成的堆栈跟踪。
所以我的问题是:有没有办法得到我想要的行为?或者也许是另一种获得等效功能的方法?我觉得所有部分都在那里,但是我将它们错误地组合在一起。