<p>cider-jack-in inicia o servidor com erro</p>

Criado em 12 fev. 2019  ·  6Comentários  ·  Fonte: clojure-emacs/cider

Comportamento esperado

Ao usar cider-jack-in , espero que um servidor nREPL seja inicializado e meu namespace seja carregado nele.

Comportamento real

O servidor nREPL está carregado, mas conecte-se ao namespace user padrão, com o seguinte erro

;; Connected to nREPL server - nrepl://localhost:51153
;; CIDER 0.21.0snapshot (package: 20190212.1312), nREPL 0.6.0
;; Clojure 1.10.0, Java 1.8.0_144
;;     Docs: (doc function-name)
;;           (find-doc part-of-name)
;;   Source: (source function-name)
;;  Javadoc: (javadoc java-object-or-class)
;;     Exit: <C-c C-q>
;;  Results: Stored in vars *1, *2, *3, an exception in *e;
ERROR: Unhandled REPL handler exception processing message {:op version, :prefix-rewriting false, :debug false, :session 8461f0f5-b998-4108-a56a-19e205dada4a, :id 12}
java.lang.IllegalArgumentException: No implementation of method: :send of protocol: #'clojure.tools.nrepl.transport/Transport found for class: nrepl.transport.FnTransport
    at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
    at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:575)
    at clojure.tools.nrepl.transport$eval18834$fn__18835$G__18825__18842.invoke(transport.clj:16)
    at refactor_nrepl.middleware$version_reply.invokeStatic(middleware.clj:144)
    at refactor_nrepl.middleware$version_reply.invoke(middleware.clj:143)
    at refactor_nrepl.middleware$wrap_refactor$fn__26537.invoke(middleware.clj:214)
    at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__19104.invoke(middleware.clj:22)
    at nrepl.server$handle_STAR_.invokeStatic(server.clj:18)
    at nrepl.server$handle_STAR_.invoke(server.clj:15)
    at nrepl.server$handle$fn__21179.invoke(server.clj:27)
    at clojure.core$binding_conveyor_fn$fn__5739.invoke(core.clj:2030)
    at clojure.lang.AFn.call(AFn.java:18)
    at java.util.concurrent.Fut
ureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
user> 

Etapas para reproduzir o problema

  1. abrir um projeto clojure
  2. execute cider-jack-in

Informações de ambiente e versão

Informação da versão CIDER

;; CIDER 0.21.0snapshot (package: 20190212.1312), nREPL 0.6.0
;; Clojure 1.10.0, Java 1.8.0_144

Versão Emacs

Emacs 26.1

Sistema operacional

OS X 10.14 "macOS Mojave"

Comentários muito úteis

Todos os seus rastreamentos de pilha incluem: #'clojure.tools.nrepl.transport/Transport . As versões 2.8.3 e 2.9.0 do Lein são incompatíveis com quaisquer versões anteriores de tools.nrepl e mudaram para nrepl / nrepl. Verifique seu caminho de classe e deps para qualquer coisa que traga essa dependência antiga e veja se você pode facilmente mudar para irreal 0.6.0 (se estiver usando lein 2.9.0) ou nrepl 0.5.0 se estiver usando lean 2.8.3

Todos 6 comentários

Além disso, isso também causa problemas quando uso <any-ns>/ (ou seja, qualquer namespace seguido por / ) em qualquer um dos meus namespaces clojure. Ele trava por um tempo e, em seguida, lança o erro mencionado acima no nREPL.

entrada no arquivo clj

(def test (foo/))

erro:

ERROR: Unhandled REPL handler exception processing message {:op namespace-aliases, :prefix-rewriting false, :debug false, :session 8461f0f5-b998-4108-a56a-19e205dada4a, :id 26}
java.lang.IllegalArgumentException: No implementation of method: :send of protocol: #'clojure.tools.nrepl.transport/Transport found for class: nrepl.transport.FnTransport
    at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
    at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:575)
    at clojure.tools.nrepl.transport$eval18834$fn__18835$G__18825__18842.invoke(transport.clj:16)
    at refactor_nrepl.middleware$namespace_aliases_reply.invokeStatic(middleware.clj:181)
    at refactor_nrepl.middleware$namespace_aliases_reply.invoke(middleware.clj:180)
    at refactor_nrepl.middleware$wrap_refactor$fn__26537.invoke(middleware.clj:214)
    at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__19104.invoke(middleware.clj:22)
    at nrepl.server$handle_STAR_.invokeStatic(server.clj:18)
    at nrepl.server$handle_STAR_.invoke(server.clj:15)
    at nrepl.server$handle$fn__21179.invoke(server.clj:27)
    at clojure.core$binding_conveyor_fn$fn__5739.invoke(core.clj:2030)
    at clojure.lang.AFn.call(AFn.java:18)
    at java
.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

além do erro e alguns segundos de espera quando eu digito um namespace / alias seguido por / ou mesmo apenas / , tudo parece estar funcionando bem.

Isso começou a acontecer desde que atualizei minha cidra. Isso acontece comigo em 0.20.0 , bem como no último 20190212.1312 .

Isso é de alguma forma um problema com clj-refactor não ser compatível com as últimas versões de cidra? Acho que terei que levantar a questão lá então.

Tudo parece estar funcionando bem com clj-refactor .

Todos os seus rastreamentos de pilha incluem: #'clojure.tools.nrepl.transport/Transport . As versões 2.8.3 e 2.9.0 do Lein são incompatíveis com quaisquer versões anteriores de tools.nrepl e mudaram para nrepl / nrepl. Verifique seu caminho de classe e deps para qualquer coisa que traga essa dependência antiga e veja se você pode facilmente mudar para irreal 0.6.0 (se estiver usando lein 2.9.0) ou nrepl 0.5.0 se estiver usando lean 2.8.3

Vou tentar isso e testar.

A atualização para o nrepl parece ter corrigido esse problema. Obrigado @dpsutton.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

xificurC picture xificurC  ·  5Comentários

Reefersleep picture Reefersleep  ·  8Comentários

csdrane picture csdrane  ·  6Comentários

achikin picture achikin  ·  7Comentários

stardiviner picture stardiviner  ·  8Comentários