TRAMP / Emacs를 통해 nrepl-ritz-jack-in을 원격으로 작동시키는 방법


299

내가 원하는 것 :

원격 사이트에 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이 당신의 길에 있는지 확인하십시오"(그리고 두 기계에서 그렇게했습니다)보다 더 구체적인 것을 얻을 수 없었습니다.


44
(/ 1 0)-이거요? 아마 무한대를 평가하려고 노력하고 있습니다 ... ;-)
firefrorefiddle

8
Attempt 2로컬 컴퓨터에서 시도해 보니 정상적으로 작동합니까? 그것은 lein ritz-replemacs에서 시작 하고 연결됩니다
Guillermo Winkler

4
예, 로컬 컴퓨터에서 시작하여 정상적으로 작동했습니다. 문제가있는 원격 연결 일뿐입니다.
MattoxBeckman

5
다음 단계를 수행하면 작동합니다. devcenter.heroku.com/articles/debugging-clojure
Avanz

6
이미 형제에게 대답했습니다. stackoverflow.com/questions/22908315/... 그것은 당신이 찾고 정확히 아니지만 그것은 도움이됩니다
prestotron

답변:


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.