在localhost:3000
上运行Rails开发服务器时,一切运行顺利。事实上,有时我可以更改我的代码并保存,重新加载,一切都运行良好。但是,在没有警告的情况下,我会保存对某些文件的更改,当我去加载页面时,我的服务器已停止:
/Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/eventmachine-1.2.3/lib/eventmachine.rb:530:in `start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)
from /Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/eventmachine-1.2.3/lib/eventmachine.rb:530:in `start_server'
from /Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/em-websocket-0.5.1/lib/em-websocket/websocket.rb:46:in `run'
from /Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/react-rails-hot-loader-0.7.0/lib/hot_loader/server.rb:70:in `run_websocket_server'
from /Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/react-rails-hot-loader-0.7.0/lib/hot_loader/server.rb:36:in `block (2 levels) in start'
from /Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/eventmachine-1.2.3/lib/eventmachine.rb:171:in `call'
from /Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/eventmachine-1.2.3/lib/eventmachine.rb:171:in `run'
from /Users/me/.rbenv/versions/2.1.7/lib/ruby/gems/2.1.0/gems/react-rails-hot-loader-0.7.0/lib/hot_loader/server.rb:36:in `block in start'
我搜索过这个问题,我找到的唯一相关答案是端口上还有另一个进程正在运行:Thin web server: `start_tcp_server': no acceptor (RuntimeError) after git branch checkout
我已按照说明操作,但检查时没有其他Rails进程或端口上的任何内容。
当我更新操作系统时,这种情况就开始发生了。我目前正在使用Rails 4.2.8,热装载机0.7.0
在MacOS Sierra 10.12.4上运行答案 0 :(得分:0)
您使用Thin
作为开发服务器吗?宝石react-rails-hot-reloader
和Thin
之间似乎存在不兼容性,正如此问题所报告的那样(仍然开放):https://github.com/rmosolgo/react-rails-hot-loader/issues/14。这些评论指出了解决这个问题的方法。