簡體   English   中英

如何通過TRAMP / Emacs遠程控制nrepl-ritz-jack-in工作

[英]How can I make nrepl-ritz-jack-in work remotely over TRAMP / Emacs

我想要的是:

我在遠程站點上有一個clojure程序,我們稱之為mccarthy 我想要做的是從我的筆記本電腦連接到nrepl-ritz ,最好使用nrepl-ritz-jack-in 插孔適用於本地程序,但似乎沒有連接到遠程程序。

嘗試1

Cx Cf on /mccarthy:code/program/project.clj

(require 'nrepl-ritz)

Mx nrepl-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將按預期工作。

嘗試2

我也嘗試在mccarthy上使用lein一個nrepl-ritz

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

從我的筆記本電腦,我轉發端口,因此本地42874連接到42874mccarthy

ssh -L 42874:localhost:42874 -N mccarthy

然后,從我當地的Emacs:

(require 'nrepl-ritz)

Mx nrepl

主持人: 127.0.0.1

港口: 42874

這給了我一個聯系:

; nREPL 0.1.7-preview
user> 

所以為了測試它,我跑了

Mx nrepl-ritz-threads

它給了我一個很好的線程表。

Mx nrepl-ritz-break-on-exception

user> (/ 1 0)

結果

這會掛起,但有時會顯示一個隱藏的調試緩沖區,並且可以重啟一些。 如果我告訴它將異常傳遞回程序,它永遠不會將控制權交還給REPL。

我已經做了大量的搜索,但是沒有能夠得到比“確保lein在你的路上”更具體的東西(而且我確實在兩台機器上都這樣做了......)。

如果repl仍在從前一個cider-jack-in運行,你應該使用cidercommand連接到正在運行的實例,或者在開始一個新的之前停止前一個

從這里` Clojure - 連接問題重新運行cider-jack-in

另請參閱此https://devcenter.heroku.com/articles/debugging-clojure

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM