2011-08-11 13 views
14

No sé lo que hice. Creo que actualicé mi Ruby on Rails. Después de actualizarlo, siempre obtengo un error al ejecutar el servidor $ rails.no se puede abrir el servidor de rails

salida es

ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/utils.rb:73:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE) 

que sería reiniciar el servidor de consola y ejecutar los carriles y que iba a funcionar bien para un par de minutos, pero entonces sería dejar de responder y si vuelvo a poner los rieles del servidor que me dé ese error de nuevo. Intenté ejecutar en un puerto diferente (rieles s -p 9191) y me da el mismo problema.

¿Alguna idea de lo que hice mal? Thnx chicos

Respuesta

35

ejecutarlo en otro puerto:

rails s -p 3001 

lo que debes de carga en localhost:3001

o matar a todos los procesos de rubí:

killall ruby 

y luego ejecutar rails s

+0

cuando traté rieles s -p 3001, que funcione, pero entonces si reinicia y ejecutarlo de nuevo, sin obtener el error "Ya en uso - bind (2) Errno :: EADDRINUSE) .... "También probé Killall Ruby pero no funcionó. Es extraño porque también lo probé en mi otra computadora portátil y me está dando el mismo error. ¿Tiene que ver con mi enrutador o algo así? – hlim

+0

¿Estás en linux/mac/win? – fl00r

+0

y sí, parece algo raro con el entorno 'localhost' – fl00r

22

Creo que de alguna manera el servidor de sus raíles sigue funcionando después lo cierras Usted puede tratar como

ps aux | grep ruby 

ver pid y luego matar a ese pid

kill -9 <pid> 

Ahora puede reiniciar el servidor utilizando

rails s 

Nota: A partir del próximo momento en adelante tratar de usar Ctrl D para terminar el servidor de rieles. Eso podría ayudar

1

Yo también enfrenté el problema porque las instancias de ruby ​​no terminaron correctamente. Podemos terminar los procesos que se ejecutan en segundo plano por pids.

lsof -wni tcp:3000 

Muestra todos los PID se ejecutan de ruby.and terminan de que los PID.

kill -9 PID 

O utilice

killall ruby 
Cuestiones relacionadas