当前位置: 首页 > 知识库问答 >
问题:

如何使nrepl ritz jack in通过TRAMP/Emacs远程工作

衡玄裳
2023-03-14

我在一个远程站点上有一个clojure程序,我们称之为mccarthy。我想做的是从我的笔记本电脑连接到nrepl-ritz,最好使用nrepl-ritz插孔。插口在本地程序中工作正常,但似乎无法连接到远程程序。

C-xc-fon/mccarthy:code/program/project。clj

(需要'nrepl-ritz)

M-xnrepl丽思插孔插入式

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插孔将按预期工作。

我还试着用麦卡锡的lein启动了一个nrepl-ritz

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

我从笔记本电脑中转发一个端口,以便本地42874连接到42874麦卡锡上的

ssh -L 42874:localhost:42874 -N mccarthy

然后,从我的本地Emacs:

(require 'nrepl-ritz)

M-xnrepl

主机:127.0。0.1

端口:42874

这给了我一个联系:

; nREPL 0.1.7-preview
user> 

所以为了测试它,我运行

M-xnrepl-ritz-threads

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

m-xnrepl-ritz-brob-on-异常

user> (/ 1 0)

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

我已经做了大量的搜索,但除了“确保lein在你的路径上”之外,我没有得到任何更具体的信息(我在两台机器上都做了…)。


共有1个答案

司徒锐进
2023-03-14

如果repl仍然从以前的cider插件运行,则应使用cidercommand连接到正在运行的实例,或在启动新实例之前停止以前的实例

从这里'Clojure-连接问题重新运行苹果酒插孔

另请参见此https://devcenter.heroku.com/articles/debugging-clojure

 类似资料:
  • null 出什么问题了?

  • 我有一台linux机器(比如m1)[一台openStack机器]来运行我的jmeter测试。我的典型过程是将最新的jmx文件放在这台机器上,并在以下命令下触发:nohup/path/to/jmeter/bin/jmeter-n-t/path/to/script/test。jmx-l/path/to/resultsFolder/results。jtl 现在,我想通过jenkins作业触发相同的测试,

  • 问题内容: 我正在尝试在Java项目中通过SSH连接到远程MySQL服务器。如何将SSH连接与JPA集成在一起? 我正在使用Netbeans 6.9.1,JPA,MySQL 5.2。 问题答案: 我假设您想隧道传输到仅侦听localhost(或已防火墙)的远程mysql 那么最简单的方法是 在运行应用程序服务器的帐户之间建立信任关系,以便将JPA服务提供给您的应用程序 创建隧道使用来创建隧道,该隧

  • 我正在使用spring批处理和spring批处理管理我们的日常批处理工作。我使用Tomcat7通过spring批处理管理UI启动作业对其进行了测试。 我的工作有跨不同服务器的远程分区步骤,我使用rabbitmq作为中间件,spring批量集成用于远程分区。 在测试过程中,我在所有服务器上部署应用程序,在所有服务器上启动tomcat,以启动所有监听器(入站网关并发线程),启动所有bean。 现在我想

  • 问题内容: 我在由远程MySQL数据库支持的分布式环境中部署Play应用程序。具体来说,应用程序托管在heroku上,数据库位于Amazon RDS上(尽管这实际上适用于任何远程数据库连接)。由于数据库不仅位于本地主机上,为了安全起见,我更希望通过SSL建立远程MySQL连接。 给定要信任的CA证书,只有可以验证主机证书的情况下,如何配置Play应用程序以通过SSL连接到MySQL服务器? 假定这

  • > 停止防火墙服务: 服务firewall_service停止 将进程附加到gdbserver 当我尝试通过在主机框上运行'target remote remote_ip:remote_port'来启动主机上的调试时,我得到一个'connection timedout'错误。 你们能看到我做错了什么吗,任何需要检查的东西,或者通过ssh远程调试的替代方法吗?我将不胜感激。谢谢