一些代码在运行rails s时得到了这个错误
Address already in use - bind(2) for "127.0.0.1" port 3000 (Errno::EADDRINUSE)我的环境是:
$ rails -v
Rails 5.0.0
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]我试过:
lsof -wni tcp:3000什么也不给我puma代替rails s - problem 解决了rails s -p 3001 -同样的问题已更新
RAILS_ENV=production bundle exec rails s -问题解决有什么建议吗?
发布于 2016-09-02 12:37:41
这个问题的出现是因为美洲豹的代码中有一个bug。降级到最古老的版本帮助了我。
发布于 2018-03-29 06:51:53
相同的进程正在某个地方运行。
要查看哪个进程使用了3000端口,并在命令下面获得进程pid类型
lsof -wni tcp:3000这将给出使用此端口的过程。
样本结果
process1 12345 0.0 0.0 12343566 1972 s000 R+ 11:17AM 0:00.00 grep puma您可以通过在下面的命令中键入
12345这是进程ID
kill -9 12345现在重新启动服务器
发布于 2016-07-19 14:25:49
您的错误是,已经有一些东西运行在3000端口上。如果不了解您的环境或安装了什么,就不可能知道要停止什么。
另一个rails服务器很可能已经在某个地方运行了。试着去本地:3000看看那里有什么。
有可能是由于某种未知的原因,另一个程序正在此端口上运行,如果是,而且您无法停止,请使用不同的端口
rails s -p 3001
或者你选择的任何其他端口
https://stackoverflow.com/questions/38460373
复制相似问题