我需要终止哪些进程才能使用 Rails 获得干净的状态?

Which processes do I need to kill in order to get a clean slate with Rails?

当我制作 rails 应用程序时,我喜欢 generate/scaffold 快速示例来测试一个想法。

天真地,我一直期待如果我结束我的 rails serverguard 会话,我应该能够启动另一个 rails 应用程序。

但我发现我得到了意想不到的结果。有时服务器不会启动,有时 model/controller/scaffold 不会生成,有时守卫不会工作。

我不确定为什么会这样,最后花了大约 1-5 分钟在 pkill 周围进行黑客攻击,直到我回到 "clean" 可以构建新应用程序的状态.似乎 rails and/or guardpumawebbrick、and/or spring 让守护进程到处乱跑。

到目前为止,这是我看到的挂起的进程,以及我如何杀死它们:

ps aux | grep ruby
ps aux | grep web
ps aux | grep puma
ps aux | grep spring

pkill -f ruby
pkill -f web
pkill -f puma
pkill -f spring

是否有更好的方法 "reset my dev environment" 让我可以开始开发另一个应用程序?

理想情况下,我正在寻找的是一组我可以转储到名为 reset_rails 的 bash 脚本中的命令,我可以 运行 并且确信我会能够启动我的服务器,生成我的 scaffolds/models/controllers 和 运行 我的保护会话。

跳过 spring 到目前为止效果很好。通过将其添加到您的 ~/.railsrc 文件使其成为默认值:

echo "--skip-spring" >> ~/.railsrc

echo "--skip-spring" > ~/.railsrc

如果它不存在。