내가 원하는 것 :
원격 사이트에 clojure 프로그램이 있습니다 mccarthy
. 내가하고 싶은 일은 nrepl-ritz
랩톱에서에 연결 하는 것 nrepl-ritz-jack-in
입니다. 잭 입력은 로컬 프로그램에 적합하지만 원격 프로그램에 연결되지 않는 것 같습니다.
시도 1
C-x C-f 의 위에 /mccarthy:code/program/project.clj
(require 'nrepl-ritz)
M-x nrepl-ritz-jack-in
결과
이맥스가 멈춘 것처럼 보입니다. *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
또한에 nrepl-ritz
사용 lein
을 시작하려고 했습니다 mccarthy
.
mattox@mccarthy$ lein ritz-nrepl
nREPL server started on port 42874
내 랩톱에서 포트를 전달하여 로컬이 42874
연결되도록 42874
합니다 mccarthy
.
ssh -L 42874:localhost:42874 -N mccarthy
그런 다음 현지 이맥스에서 :
(require 'nrepl-ritz)
M-x nrepl
주최자: 127.0.0.1
포트: 42874
이것은 나에게 연결을 제공합니다 :
; nREPL 0.1.7-preview
user>
테스트하기 위해
M-x nrepl-ritz-threads
그것은 나에게 멋진 스레드 테이블을 제공합니다.
M-x nrepl-ritz-break-on-exception
user> (/ 1 0)
결과
이 문제는 발생하지만 일부 다시 시작이 가능한 숨겨진 디버깅 버퍼가 표시되는 경우가 있습니다. 예외를 프로그램으로 다시 전달하도록 지시하면 REPL에 제어권을 다시 부여하지 않습니다.
나는 많은 검색을 해왔지만 "Lein이 당신의 길에 있는지 확인하십시오"(그리고 두 기계에서 그렇게했습니다)보다 더 구체적인 것을 얻을 수 없었습니다.
Attempt 2
로컬 컴퓨터에서 시도해 보니 정상적으로 작동합니까? 그것은 lein ritz-repl
emacs에서 시작 하고 연결됩니다
(/ 1 0)
-이거요? 아마 무한대를 평가하려고 노력하고 있습니다 ... ;-)