这种情况多次发生在我身上,我希望我能在这里找到答案。
有时在使用Rails控制台并对对象执行#update或#destroy操作时,我的控制台只会在发布" BEGIN"之后冻结。在日志中。我现在有一个开放的,一个简单的破坏,已经在那里坐了十分钟。
即:
my_object.find(permitted_params[:thing][:id]).destroy
我的mac上的CTRL + C不会杀死它,只是渲染:
^C^C^C^C^C^C^C^C^C^C
然后当我最终杀死标签并重新启动服务器时,我得到了:
A server is already running. Check /path/to/app/tmp/pids/server.pid.
然后,当我清除server.pid
并尝试重新启动服务器时,我得到:
/Users/nickschwaderer/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/socket.rb:206:in `bind': Address already in use - bind(2) for 127.0.0.1:3000 (Errno::EADDRINUSE)
此时我运行lsof -wni tcp:3000
,然后kill -9 #whatever_my_pid_was
,最后设置所有内容以重新运行服务器。
山姆在这里发生了什么事?
答案 0 :(得分:1)
最近发生在我身上,我承认当我发现原因时,我感到非常惭愧。
确保您没有代码停止某处。有一个单独的binding.pry因为某种原因被解雇,即使我试图从控制台移除我的对象。
答案 1 :(得分:1)
这发生在我身上,但是使用了User.delete(1234)。最后,我刚刚重启了我的机器,重新启动了数据库服务器,一切正常。