<p>cider-jack-in no puede iniciar el servidor nrepl</p>

Creado en 16 mar. 2017  ·  7Comentarios  ·  Fuente: clojure-emacs/cider

Puedo ejecutar lein repl sin problemas.

% lein repl
nREPL server started on port 39175 on host 127.0.0.1 - nrepl://127.0.0.1:39175
REPL-y 0.3.7, nREPL 0.2.12
Clojure 1.8.0
OpenJDK 64-Bit Server VM 1.8.0_121-b13
...

pero no se iniciará en Emacs. Estuvo funcionando hace dos días, y mantengo todos mis paquetes actualizados en unos pocos días, así que algo acaba de cambiar.

Comportamiento real

M-x cider-jack-in
(70 seconds pass with no repl coming up)
*Messages*
Making nrepl-create-client-buffer-function local to *nrepl-server foo* while let-bound!                                                                       
Making nrepl-use-this-as-repl-buffer local to *nrepl-server foo* while let-bound!                                                                             
Starting nREPL server via /usr/bin/lein update-in :dependencies conj \[org.clojure/tools.nrepl\ \"0.2.12\"\ \:exclusions\ \[org.clojure/clojure\]\] -- update\
-in :plugins conj \[cider/cider-nrepl\ \"0.15.0-SNAPSHOT\"\] -- repl :headless :host ::...                                                                    
Prelude tip: Press <C-c G> to search in GitHub.                                                                                                               
error in process sentinel: nrepl-server-sentinel: Could not start nREPL server: Exception in thread "main" java.net.SocketException: Protocol family unavaila\
ble, compiling:(/tmp/form-init6590227691248211762.clj:1:73)                                                                                                   
        at clojure.lang.Compiler.load(Compiler.java:7391)                                                                                                     
        at clojure.lang.Compiler.loadFile(Compiler.java:7317)                                                                                                 
        at clojure.main$load_script.invokeStatic(main.clj:275)                                                                                                
        at clojure.main$init_opt.invokeStatic(main.clj:277)                                                                                                   
        at clojure.main$init_opt.invoke(main.clj:277)                                                                                                         
        at clojure.main$initialize.invokeStatic(main.clj:308)                                                                                                 
        at clojure.main$null_opt.invokeStatic(main.clj:342)                                                                                                   
        at clojure.main$null_opt.invoke(main.clj:339)                                                                                                         
        at clojure.main$main.invokeStatic(main.clj:421)                                                                                                       
        at clojure.main$main.doInvoke(main.clj:384)                                                                                                           
        at clojure.lang.RestFn.invoke(RestFn.java:421)                                                                                                        
        at clojure.lang.Var.invoke(Var.java:383)                                                                                                              
        at clojure.lang.AFn.applyToHelper(AFn.java:156)                                                                                                       
        at clojure.lang.Var.applyTo(Var.java:700)                                                                                                             
        at clojure.main.main(main.java:37)                                                                                                                    
Caused by: java.net.SocketException: Protocol family unavailable                                                                                              
        at java.net.PlainSocketImpl.socketBind(Native Method)                                                                                                 
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)                                                                            
        at java.net.ServerSocket.bind(ServerSocket.java:375)                                                                                                  
        at java.net.ServerSocket.bind(ServerSocket.java:329)                                                                                                  
        at clojure.tools.nrepl.server$start_server.invokeStatic(server.clj:143)                                                                               
        at clojure.tools.nrepl.server$start_server.doInvoke(server.clj:121)                                                                                   
        at clojure.lang.RestFn.invoke(RestFn.java:619)                                                                                                        
        at user$eval10459.invokeStatic(form-init6590227691248211762.clj:1)                                                                                    
        at user$eval10459.invoke(form-init6590227691248211762.clj:1)                                                                                          
        at clojure.lang.Compiler.eval(Compiler.java:6927)                                                                                                     
        at clojure.lang.Compiler.eval(Compiler.java:6917)                                                                                                     
        at clojure.lang.Compiler.load(Compiler.java:7379)                                                                                                     
        ... 14 more                                                                                                                                           
Subprocess failed                                                                                                                                             

error in process sentinel: Could not start nREPL server: Exception in thread "main" java.net.SocketException: Protocol family unavailable, compiling:(/tmp/fo\
rm-init6590227691248211762.clj:1:73)                                                                                                                          
        at clojure.lang.Compiler.load(Compiler.java:7391)                                                                                                     
        at clojure.lang.Compiler.loadFile(Compiler.java:7317)                                                                                                 
        at clojure.main$load_script.invokeStatic(main.clj:275)                                                                                                
        at clojure.main$init_opt.invokeStatic(main.clj:277)                                                                                                   
        at clojure.main$init_opt.invoke(main.clj:277)                                                                                                         
        at clojure.main$initialize.invokeStatic(main.clj:308)                                                                                                 
        at clojure.main$null_opt.invokeStatic(main.clj:342)                                                                                                   
        at clojure.main$null_opt.invoke(main.clj:339)                                                                                                         
        at clojure.main$main.invokeStatic(main.clj:421)                                                                                                       
        at clojure.main$main.doInvoke(main.clj:384)                                                                                                           
        at clojure.lang.RestFn.invoke(RestFn.java:421)                                                                                                        
        at clojure.lang.Var.invoke(Var.java:383)                                                                                                              
        at clojure.lang.AFn.applyToHelper(AFn.java:156)                                                                                                       
        at clojure.lang.Var.applyTo(Var.java:700)                                                                                                             
        at clojure.main.main(main.java:37)                                                                                                                    
Caused by: java.net.SocketException: Protocol family unavailable                                                                                              
        at java.net.PlainSocketImpl.socketBind(Native Method)                                                                                                 
        at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)                                                                            
        at java.net.ServerSocket.bind(ServerSocket.java:375)                                                                                                  
        at java.net.ServerSocket.bind(ServerSocket.java:329)                                                                                                  
        at clojure.tools.nrepl.server$start_server.invokeStatic(server.clj:143)                                                                               
        at clojure.tools.nrepl.server$start_server.doInvoke(server.clj:121)                                                                                   
        at clojure.lang.RestFn.invoke(RestFn.java:619)                                                                                                        
        at user$eval10459.invokeStatic(form-init6590227691248211762.clj:1)                                                                                    
        at user$eval10459.invoke(form-init6590227691248211762.clj:1)                                                                                          
        at clojure.lang.Compiler.eval(Compiler.java:6927)                                                                                                     
        at clojure.lang.Compiler.eval(Compiler.java:6917)                                                                                                     
        at clojure.lang.Compiler.load(Compiler.java:7379)                                                                                                     
        ... 14 more                                                                                                                                           
Subprocess failed

Pasos para reproducir el problema

  • Cree un nuevo usuario nuevo, inicie sesión
  • Clonar preludio en ~/.emacs.d
  • Crea personal/dummy.el con solo una línea: (prelude-require-package 'cider) y evalúalo
  • lein new foo && cd foo
  • emacs src/foo/core.clj
  • M-x cider-jack-in

Información sobre el entorno y la versión

% java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

Información de versión de CIDER

No puedo iniciar la respuesta desde emacs para ver, pero list-packages muestra sidra en 20170310.735 . nREPL parece estar siendo extraído como 0.2.12 .

Versión Lein/Boot

Leiningen 2.7.1 en Java 1.8.0_121 Máquina virtual de servidor OpenJDK de 64 bits

versión Emacs

GNU Emacs 25.1.1 (x86_64-unknown-linux-gnu, GTK+ Versión 3.22.7) de 2017-02-07

Sistema operativo

Arch Linux, núcleo: 4.10.2-1-ARCH
procesos: CPU Intel(R) Core(TM) i7-4750HQ a 2,00 GHz (x8)

Comentario más útil

Para cualquier otra persona que tenga este problema, esto se puede solucionar configurando cider-lein-parameters en "repl :headless :host localhost" (el valor predeterminado es "repl :headless :host ::" )

Todos 7 comentarios

Resolví esto, al menos cómo superarlo. Había estado ejecutando mi sistema Arch Linux con ipv6 deshabilitado por pasas histéricas. Después de habilitarlo y reiniciar, CIDER/nrepl ahora están funcionando.

También puede cambiar el comando de arranque, por cierto. Se vincula a :: de forma predeterminada, pero siempre puede cambiarlo a localhost .

Ah, ya veo. Me preguntaba qué estaba haciendo ese :: allí. Gracias por CIDER etc, por cierto!!!!

Para cualquier otra persona que tenga este problema, esto se puede solucionar configurando cider-lein-parameters en "repl :headless :host localhost" (el valor predeterminado es "repl :headless :host ::" )

Esto parece solucionar el problema, pero, ¿no puedo predeterminar el parámetro a localhost para cada proyecto nuevo que crearé en el futuro?

@darkdefender27 Ver https://github.com/technomancy/leiningen/pull/2444 Estoy tratando de cambiar lein para usar la versión actualizada de nREPL que soluciona esto.

Por cierto, en caso de que alguien se pregunte por qué esto era lo predeterminado, consulte https://dev.clojure.org/jira/browse/NREPL-83 y https://github.com/clojure-emacs/cider/issues/2482

Parece que podríamos volver a cambiar el valor predeterminado pronto, ya que es posible que no hayamos entendido las implicaciones de usar :: .

¿Fue útil esta página
0 / 5 - 0 calificaciones