2013-10-03 5 views
3

저는 얼마 동안 clojure와 clojurescript를 조작 해 왔지만 브라우저가 매우 응답하지 않는 것으로 나타났습니다. 일반적으로 결과를 제공하지 않고 중단되거나 파손 된 파이프 예외가 발생합니다. 이제는 항상 일하기를 거부하는 상황에 처해 있습니다.ClojureScript bRepl이 전혀 응답하지 않습니다.

내가 현대 - cljs 자습서 파트 2를 다운로드하고 페이지를 시작하고, 컴파일 된 자바 스크립트를로드하고 bRepl을 시작하는 모든 단계를 수행한다고 가정 해 보겠습니다. 내가 (+ 3 4)와 같이 단순한 것을 평가하려고 시도 할 때, 그것은 효과가 없습니다.

Java 1.6.0_51 Java HotSpot (TM) 64 비트 서버 VM에서 필자는 OSX 10.8.4이고 leiningen 버전은 2.3.2입니다. 어떤 도움이라도 대단히 감사합니다.

+1

일반적인 해결 방법은 cljs repl을 시작한 후 * 페이지를 새로 고치는 것입니다. 당신이 그 단계를 따른다면 당신의 질문에서 분명하지 않습니다, 당신은 확인할 수 있습니까? – georgek

+0

나는 그것을 시도했지만 작동하지 않습니다. 내가 leiningen 또는 관련 도구에 대한 일종의 깨끗한/새로 고침 의존성이 있는지 궁금해? – Frankie

+0

다른 탭이나 브라우저에서 연결하려는 페이지를 열어보십시오. – michieljoris

답변

2

를 사용하는 더 편안 bREPL을 설정 https://github.com/magomimmo/modern-cljs/blob/master/doc/tutorial-18.md#the-need-of-a-more-comfortable-brepl-experience 튜토리얼을 따라 할 수 있습니다. 그리고 여기 좀 도와 트릭입니다

  1. 청소 leain의 deps :이 메시지를보고
  2. 프로젝트 루트에 lein deps : rm -rf ~/.m2/*
  3. 다운로드 lein의 deps "broken pipe" 마지막에서 너무 많은 시간이 있었다 brepl interaction.그래서,
  4. 실행하는 것을 잊지 마세요 브라우저를 다시 시도, 다시 브라우저를 새로 고침하고 모든
  5. 가끔 내 brepl 내가 코드를 평가하려고했던 처음에 걸려있다 : 전에 brepl을 시작 lein cljsbuild once

행운

PS : 어쨌든 당신이 편안 brepl 경험을하려는 경우 https://github.com/cemerick/austin을 살펴보고있다. 이 브리프를 테스트하고 잘 작동합니다. https://github.com/juanantonioruz/client

+0

오스틴을 기본 brepl로 사용하게되었습니다. 때로는 여전히 브로큰 파이프 예외가 발생하고 페이지를 새로 고치면 도움이되지 않습니다. 그래서 난 그냥 repl를 다시 시작한 다음 잘 작동합니다. – Frankie

0

project.clj에서 지정한 ClojureScript 릴리스는 무엇입니까? 특정 릴리스를 지정하지 않으면이 문제가 발생할 가능성이 큽니다. 0.0-1913은 최신입니다.

3

현대적인 cljs repo를 복제 한 다음 튜토리얼 -02 분기를 체크 아웃 한 다음 정리하고 다시 컴파일하는 것이 좋습니다.

git clone https://github.com/magomimmo/modern-cljs.git 
cd modern-cljs 
git checkout tutorial-02 
lein do clean, cljsbuild clean 
lein cljsbuild once 

하면 HTTP 서버는 다음과 같이 그런 다음 REPL 듣기 substask를 실행 (I 포트는 3000입니다 있으리라 믿고있어) 그 뿌리가 현대 cljs/자원/공용 디렉토리 로 설정 실행하도록해야합니다 :

lein trampoline cljsbuild repl-listen 

cljs 프롬프트가 나타날 때까지 기다리십시오. 그런 다음 localhost:3000/simple.html URL을 방문하여 brepl과의 연결이 준비 될 때까지 기다리십시오.

cljs 프롬프트에서 이제 cljs 표현식을 평가할 수 있습니다. 결국 위 URL을 다시로드하십시오. 그것은 여전히 ​​작동하지 않으면

, 메이븐 저장소를 삭제하려고 :

rm -rf ~/.m2/repository 

및 명령의 lein do 체인에서 모든 것을 다시.

은 결국 당신은 https://github.com/cemerick/piggieback

나도이 주제에 몇 가지 문제를 했어 HIH

0

브라우저 내에서 repl/connect에 전화하는 것을 잊었을 때 REPL에서 완전히 멈추었습니다. 출력이 없으므로 진단하기가 어렵습니다. 침입 치료를 시도하기 전에 확인할 가치가 있습니다.

1

당신은 안전하지 크롬을 사용하여 시도해야합니다 :

  • OS의 X :

    open -a Chromium --args --disable-web-security

  • 리눅스 :

    chromium --disable-web-security

그런 다음 안전하지 않은 브라우저에서 페이지를 방문하여 brepl에 연결하십시오.


설명 : brepl 포트 9000에서 실행되는 동안 페이지를 호스팅하는 웹 서버가 반드시 XSS를 구성하는 다른 포트를 사용

때문에 (참조 [이 스택 오버플로 토론]).

이 문제를 해결하는 가장 쉬운 방법은 Chromium을 디버깅에 안전하지 않게 사용하는 것이지만 원하는 경우 다른 방법으로 XSS를 사용 설정할 수 있습니다.

관련 문제