问题标签 [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 回答
90 浏览

emacs - clojure nrepl 在 emacs 保存状态 - 总是在 nrepl-jack-in 上评估整个文件

我正在使用 emacs live 来设置我的 clojure 环境。1) 什么命令会导致 nrepl 在插入时尝试评估整个文件?2)是否有保存会话状态的地方?

由于某些未知原因,当我执行 Mx nrepl-jack-in 时,emacs 现在正尝试评估整个 clojure 文件。它曾经不这样做。我的文件中有错误,由于执行失败,我无法使用此文件启动 nrepl。这不是我第一次遇到一些变化的语义。我试过重新启动emacs,但这没有帮助。

谢谢

0 投票
1 回答
1518 浏览

clojure - 将 Lighttable 与远程 nrepl 一起使用

我想从代码启动 nREPL 并让 Lighttable 连接到它。这是我的尝试:

但是,当我从 Lighttable 连接时,我得到了这个:

我拥有的依赖项:

如果我运行它可以工作lein repl,但我确实需要将代码作为 jar 包分发。

0 投票
1 回答
958 浏览

emacs - Cc Ck 在 Emacs24 中未定义

我已经安装了 Emacs24,并安装了 clojure-mode nrepl。我打开了一个emacs窗口,然后Mx nrepl-jack-in,它显示:nrepl.el 0.2.0(Cljoure 1.6.0,nREPL 0.2.3)

我在另一个窗口中打开一个 clj 缓冲区,我想使用 Cc,CK 编译缓冲区文件,但我得到 Cc,Ck 未定义。

我怎样才能让它编译 clj 文件。谢谢你。

0 投票
1 回答
1197 浏览

clojure - 如何在我的 Clojure 应用程序中嵌入 REPL?

我正在尝试嵌入cider.nrepl我的 clojure 应用程序,以便我可以连接到正在运行的实例、检查、修复等。

我包括cider-nrepl在我的 leiningen 配置文件中:

然后在我的core.clj

程序编译运行正常。但是当我尝试连接到端口 7888 中的 REPL 会话时,我得到以下堆栈跟踪:

错误:未处理的 REPL 处理程序异常处理消息 {:id 0da185f2-38e8-4a83-9941-327b9806176b,:op clone} java.lang.NoClassDefFoundError:clojure/tools/nrepl/StdOutBuffer at clojure.tools.nrepl.middleware.session$session_out .invoke(session.clj:26) at clojure.tools.nrepl.middleware.session$create_session.invoke(session.clj:118) at clojure.tools.nrepl.middleware.session$create_session.invoke(session.clj:114 )

目前不知道如何进行。谷歌搜索 StdOutBuffer 也没有帮助。

更新 这是我的完整版project.clj

如上所述,cider-nrepl 包含在 leiningen 的配置文件中。

0 投票
1 回答
4207 浏览

emacs - 为什么 cider 会找到错误的 cider-nrepl 版本,我该如何解决?

就在今天,我已经通过 el-get 安装了苹果酒。当我在 emacs 中启动 cider 时,会打印以下横幅:

我可以在苹果酒中运行我的单元测试,但是很多其他的东西都不起作用,比如文档查找等。请注意,提示也在用户命名空间中,而不是在项目命名空间中。

我的 ~/.lein/profiles.clj

我看到 lein 已经下载了所需的内容(然后是一些,奇怪的是):

我还看到 lein 想要同时引入 cider-nrepl 和 tools.nrepl,尽管我肯定不明白为什么:

最后,我的 project.clj,尽管我在所有 clojure 项目中都看到了这个问题:

如何让苹果酒选择正确的 cider-nrepl?

0 投票
0 回答
197 浏览

emacs - 当 jvm 终止时,在 cider 中保留 *nrepl* 缓冲区

我正在运行远程 nrepl 服务器 ( mvn clojure:nrepl) 并通过 emacs 连接M-x cider-connect。当 JVM 因任何原因存在或我调用(System/exit 0)我的 repl 时,*nrepl*缓冲区会立即关闭。

我该如何防止这种行为?

如何使后续连接重用该缓冲区?

谢谢!

编辑:上一个:“通过 emacs 连接M-x nrepl

更新:切换到:

; CIDER 0.8.0alpha (package: 20141116.1221) (Java 1.7.0_21, Clojure 1.6.0, nREPL 0.2.5)

如果我运行mvn dependency:tree我看到的内容包括以下内容: [INFO] +- org.clojure:tools.nrepl:jar:0.2.5:compile [INFO] +- cider:cider-nrepl:jar:0.8.0-SNAPSHOT:compile

但是在 Emacs 中,我在 a 之后看到以下内容M-x cider-connect ; CIDER 0.8.0alpha (package: 20141116.1221) (Java 1.7.0_21, Clojure 1.6.0, nREPL 0.2.5) WARNING: The following required nREPL ops are not supported: apropos classpath complete eldoc info inspect-start inspect-refresh inspect-pop inspect-push inspect-reset macroexpand ns-list ns-vars resource stacktrace toggle-trace-var toggle-trace-ns undef Please, install (or update) cider-nrepl 0.8.0-SNAPSHOT and restart CIDER

在关闭 REPL 然后尝试重新启动它之后,我看到An nREPL connection buffer already exists ... create a new one? (y or n) 任何一个答案似乎都是错误的。

旧缓冲区至少没有被删除,但它似乎无法使用。

0 投票
1 回答
1042 浏览

clojure - 网络连接 REPL 与 leiningen/ring/compojure/luminus

我正在使用使用 ring/compojure 的 luminus Web 框架运行服务器,并且我希望能够使用 clojure repl 连接到我的代码。我知道有一个nrepl代表网络复制的服务器,您可以通过以下方式连接到它:`lein repl :connect user@host:port (或一些不同的协议,我已经尝试了一些东西)。

以下代码repl.clj是在您使用 `lein new luminus [project-name] 自动生成 luminus 项目时创建的(实际上我添加了附加 clojurescript repl 所需的 browser-repl 片段)。

我一直不成功lein repl :connect ...

  1. 如何将 clojure repl 附加到服务器上的代码?

感谢所有的帮助

0 投票
0 回答
75 浏览

emacs - 如何将 clojure nrepl 0.2.6 升级到 0.2.7

我刚刚从 melpa 安装了 Cider,它的版本为 0.9.0 SNAPSHOT 和 nREpL 0.2.6。一旦我使用了这个答案中建议的配置文件,这或多或少会起作用。但是,这似乎不起作用,因为 nrepl 版本仍然是 0.2.6。

这是我来自 .lein 的profiles.clj

这是我得到的警告

任何提示表示赞赏,或者这无关紧要?

编辑: lein 的版本是 2.5.1

进一步编辑:请注意,我问了这个问题,因为引用的 stackoverflow 问题似乎无法解决问题。这是 clojure 的全新安装,因此不清楚这对我来说是否是一个重要问题。干杯

0 投票
1 回答
313 浏览

emacs - 为什么我的光标在 emacs nrepl 中跳跃

我从 emacs/nrepl 开始编写 Clojure。使用某些命令会导致打印较长的 JSON 结果,光标会跳转到输出中间的某个位置。M-> 将光标移到应该在的位置。点击 ENTER 会导致它跳回到前一个 JSON 结果中间的某个地方。我可以执行一个命令,比如 (+ 1 2) - 结果被打印出来,光标跳回到上一个输出中。输出滚动出屏幕后,一切都恢复正常。

这可能是什么原因造成的?我在http://www.braveclojure.com/basic-emacs/之后使用 cider-nrepl 0.9.0 和 emacs 24.3.1设置了 emacs 。

0 投票
3 回答
1277 浏览

clojure - Clojure中的地图打印与地图打印

我想知道为什么以下在 nREPL 中有不同的输出顺序

相对

为什么应用打印显示返回值,然后显示123?