如何使nrepl-ritz-jack-在tramp/emacs上远程工作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (33)

想要的是:

我在一个远程站点上有一个Clojure程序,让我们称之为mccarthy我想要做的是连接到nrepl-ritz从我的笔记本电脑,最好用nrepl-ritz-jack-in

C-xC-f/mccarthy:code/program/project.clj

(require 'nrepl-ritz)

M-xnrepl-ritz-jack-in

结果

Emacs似乎挂起。 如果我去* nrepl-server *缓冲区,可以看到这个:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.flatland.drip.Main.invoke(Main.java:117)
    at org.flatland.drip.Main.start(Main.java:88)
    at org.flatland.drip.Main.main(Main.java:64)
Caused by: java.lang.AssertionError: Assert failed: project
    at leiningen.ritz_nrepl$start_jpda_server.invoke(ritz_nrepl.clj:23)
    at leiningen.ritz_nrepl$ritz_nrepl.doInvoke(ritz_nrepl.clj:95)

(还有很多其他的线条...)

我在用drip在我的笔记本电脑上,但不是开着mccarthy,很明显nrepl-ritz-jack-in不是检测到它是远程文件。正规老年nrepl-jack-in但是,在这种情况下,它将如预期的那样工作。

Attempt 2

我还试着启动一个nrepl-ritz使用leinmccarthy:

mattox@mccarthy$ lein ritz-nrepl
nREPL server started on port 42874

从我的笔记本电脑上我转发了一个本地端口42874连接到42874mccarthy:

ssh -L 42874:localhost:42874 -N mccarthy

然后,从我当地的Emacs:

(require 'nrepl-ritz)

M-xnrepl

Host:127.0.0.1

Port:42874

这给了我一个连接:

; nREPL 0.1.7-preview
user> 

所以要测试一下,我跑

M-xnrepl-ritz-threads

它给了我一个很好的线程表。

M-xnrepl-ritz-break-on-exception

user> (/ 1 0)

结果

这将挂起,但有时会显示一个隐藏的调试缓冲区,其中包含一些可用的重新启动。如果我告诉它将异常传递回程序,它就永远不会将控制权还给REPL。

提问于
用户回答回答于

如果repl仍然从前一个cider-jack-in运行,则应该使用cider命令连接到正在运行的实例,或者在启动新实例之前停止前面的一个实例。

从这里开始 Clojure - 连接问题重新运行cider-jack-in

看到这个https://devcenter.heroku.com/articles/debugging-clojure

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问5 回答
  • uncle_light

    5 粉丝518 提问3 回答
  • 学生

    2 粉丝477 提问3 回答
  • 军哥

    重庆雷驰信息技术有限公司 · 经理 (已认证)

    5 粉丝1 提问3 回答

扫码关注云+社区

领取腾讯云代金券