如何让 Puma 在每次 .rb 发生变化时重新加载?

Kok*_*zzu 1 ruby reload sinatra

thin之前在我的sinatra应用程序中使用过,并rerun在 .rb 发生更改时自动重新加载服务器

rerun --pattern="**/*.{rb}" ruby ./main_service.rb
Run Code Online (Sandbox Code Playgroud)

如何做puma同样的事情?因为这个命令不起作用:

rerun --pattern="**/*.{rb}" puma -b tcp://127.0.0.1:12345
Run Code Online (Sandbox Code Playgroud)

这表明:

ERROR: No application configured, nothing to run
Run Code Online (Sandbox Code Playgroud)

我的config.ru

require './main_service'
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)

但是当我使用手动命令时puma -b tcp://127.0.0.1:12345它工作正常..

Kok*_*zzu 5

呵呵,没关系,我找到了解决方案:

rerun --pattern="**/*.{rb}" "bundle exec puma -b tcp://127.0.0.1:12345 ./config.ru"
Run Code Online (Sandbox Code Playgroud)

必须引用第二个重新运行参数