问题标签 [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.

0 投票
1 回答
474 浏览

macos - 将 leiningen repl 的结果复制到剪贴板

偶尔我想在其他软件的repl中戳一个结果。有没有一种方便的方法可以将 repl 中运行的函数的结果复制到系统剪贴板?我知道我可以spit将结果保存到文件中。我正在使用 mac os x。

0 投票
2 回答
243 浏览

emacs - 在调试点停止程序?

我正在使用 emacs 进行 clojure 开发。

所以使用后:(C-u M-x cider-jack-in在我的测试文件中)。接下来lein replM-x cider-connect我在项目的根目录中得到一个奇怪的、部分工作的 repl,我必须提供每个函数的完全限定路径及其名称空间。

如何为 cider 提供自定义入口点(例如测试文件)?如何预加载命名空间的一部分,或在程序的特定点停止执行?

0 投票
1 回答
255 浏览

maven - Nrepl 中间件无法正确加载 maven 项目

我正在尝试在我的项目中使用 CIDER 的调试器,该调试器是在 maven 中设置的(无法切换到 Leiningen)。我已经按照他们的 github README 中的说明配置了 clojure-maven-plugin:

并添加了依赖项:

请注意,我的苹果酒版本正好是 0.14.0-SNAPSHOT。

使用此配置,我使用启动 nREPL 服务器

有了这个,我可以使用cider-connect.

通过这个设置,我可以做很多事情,比如加载命名空间和使用 REPL,但是当涉及到调试器等中间件功能时,我会收到关于未绑定函数或变量的各种错误。如果是调试器:

请注意,当使用带有cider-jack-in依赖项的 leiningen 时,nREPL 会正确注入,我可以使用调试器。如果我使用cider-connectlein repl 我会遇到同样的问题,但我从未将 leiningen 配置为加载 nREPL 中间件。这让我相信中间件也没有在 Maven 案例中被初始化(尽管被指定)。

我的配置中缺少什么来完成这项工作?

0 投票
0 回答
196 浏览

docker - Docker 容器中的 Vim-Fireplace

现在我在 docker 容器中运行我的 vim 环境,我过去只是使用脚本来初始化我的 vim 环境,但是每个发行版和操作系统编译 vim 的方式的细微差别有许多令人讨厌的小差异,并将其用于 Clojure 开发。作为我 vim 环境的一部分,我使用vim-fireplace。但是当我在我的主机上运行我的 repl 时,docker 容器 vim-fireplace 中的 vim 无法建立到我的 nrepl 服务器的连接。我收到来自 vim-fireplace 的连接被拒绝错误。我知道这是因为 vim-fireplace 默认使用 localhost 作为主机 IP。但即使我手动调用

它会说连接已建立,并询问我将连接范围限定在哪里。但是我无法通过 cqc 运行命令,或使用 :Eval 评估文本块,得到与连接被拒绝相同的错误。

如果我在容器上安装 Java 和 lein,那么我可以通过以下方式连接到主机上的 repl 服务器

并按预期执行命令。

我目前用于 vim 的插件设置可以在主机上正常工作(连接到壁炉并运行命令)。

有没有办法我可以在 docker 中为我的主机 lo0 适配器起别名,以便我可以通过该接口连接到我的 repl,或者其他解决方案?我想避免在容器中运行 java、lein 和 repl 服务器,这样我就可以保持它的精简和更通用的其他非 Clojure 开发的目的。

0 投票
1 回答
337 浏览

clojure - Cider 版本与新 luminus 项目中的 cider-nrepl 版本不匹配

我正在尝试使用 luminus,当我使用 emacs Mx cider-connect 连接到由 lein run 启动的 repl 时,所有新的 luminus 项目都给我 cider version/ cider-nrepl version mismatch 错误:

警告:CIDER 的版本 (0.14.0) 与 cider-nrepl 的版本 (nil) 不匹配。事情会破裂!

如果我忽略自动启动的 nrepl 并使用 Mx cider-jack-in 启动新的 repl,我看不到错误。这是我通常用于 clojure 项目的内容,但使用 luminus 似乎有些事情不能正常工作(如果我没记错的话,启动和停止 h2 数据库,但这是另一个问题)。

我删除了我的 ~/.lein/profiles.clj 文件并将其替换为仅包含 cider-nrepl 插件的文件,即:

我也尝试通过 project.clj 文件添加插件,但仍然出现错误。

lein deps :tree 给了我一些可能的冲突并建议排除,但没有一个涉及 nrepl 或 cider。

我在这里想念什么?

0 投票
1 回答
743 浏览

clojure - 在 CIDER 中设置 Figwheel REPL 时遇到问题

我刚开始使用以下模板制作一个简单的 cljs 应用程序:

lein new figwheel someproject -- --reagent

我希望将苹果酒中的 REPL 用于 cljs 开发,就像我通常用于普通 clj 项目一样,所以我做了一些研究并最终来到这里:

https://github.com/bhauman/lein-figwheel/wiki/Using-the-Figwheel-REPL-within-NRepl

我通读了说明,并验证了所有正确的依赖项都在 project.clj 中(不必更改任何内容,看起来模板添加了我需要的所有内容)。上述链接中的最后一步表明我需要将以下代码添加到我的 emacs 配置中:

现在 - 我是一个 emacs 新手,所以我使用的设置仍然是我第一次从“ Clojure for the Brave and True ”中学到的设置:

https://github.com/flyingmachine/emacs-for-clojure

我尝试先将上面的代码段放入~/.emacs.d/init.el,但每当我尝试M-x cider-jack-in ...时,都没有cider-jack-in-clojurescript选择。我还尝试将片段放在 中~/.emacs.d/customizations/setup-clojure.el,这似乎是一个更合乎逻辑的家,但结果相同。

我真的很想能够启动并运行这个 REPL,所以任何帮助都将不胜感激。

0 投票
3 回答
369 浏览

clojure - Leiningen nREPL 通过吊桥连接到远程 repl

我正在尝试以 uberjar 的形式连接到正在运行的 clojure 应用程序包。我添加[com.cemerick/drawbridge "0.0.7"]到我的 project.clj 中。但是当我试图连接lein repl :connect http://ip:port/repl它时,它甚至没有连接。

我得到一个堆栈跟踪:

但是当我跑步时,lein classpath我可以在那里找到吊桥/root/.m2/repository/com/cemerick/drawbridge/0.0.7/drawbridge-0.0.7.jar

有什么线索吗?

0 投票
2 回答
1947 浏览

clojure - 使用 Clojure CLI 工具启动 nREPL

如何从clj命令启动 nREPL?

我无法使用 Lein 或 Boot 运行我的项目,因为我在某处有一个不平衡的括号,并且读者抱怨 `java.lang.RuntimeException: read-cond 从第 13 行开始需要偶数个表单。

0 投票
1 回答
96 浏览

deployment - 通过 REPL 引导一个暂存 Clojure 应用程序,包括。获取依赖项

部署 Clojure/Java 应用程序很困难,所以我昨天有了这个想法,我想更好地理解。如果我启动一台安装了 Clojure 和 boot-clj 并在该机器上运行boot wait repl -s -H 0.0.0.0的机器(让我们暂时忽略 auth),我应该能够从我的开发框连接到它并触发通过线路检索依赖项(其中然后将被缓存在机器上),然后连接所有源代码并进行评估,直到遇到障碍,对吗?

让我们假设这是一个好主意。是否有可能做到这一点,涉及的障碍是什么?现在我正在等待 5 分钟让 CircleCI 打包一个 uberjar,然后因为一些 Heroku 令牌过期而失败,但我想做的就是看到我的代码在暂存环境中运行,这样我就可以连接更多代码并重新评估它.

首先想到的是 nREPL auth,我看到在任何 nREPL 库中都没有提到它。因此,假设这是一个更高级别的网络问题,我将通过 VPC 执行 ACL。

有人做过吗?为什么这是个坏主意?您能否展示您在不使用 git 或 SSH 的情况下在远程机器上引导 Clojure 应用程序的方法(除了初始 REPL 启动)?

0 投票
1 回答
205 浏览

clojure - Cider nREPL 使用 virtualbox 错误:远程对等点断开连接

使用以下命令启动 repl:

当我尝试连接 VIA cider connect 时,出现以下错误:

当我尝试连接 VIA 时:

我收到以下错误: