Ruby 如何将rackup调用转换为自包含脚本?

Ruby 如何将rackup调用转换为自包含脚本?,ruby,rack,Ruby,Rack,我正试图让一款应用程序成为一颗宝石,它可以: spawn("rackup", "--port", PORT.to_s, "--server", "thin", "-E", "development", File.expand_path("../server.ru", __FILE__)) 如果我在gem中使用它,我会得到一个LoadError用于thin(在打包并安装它之后)(thin在我的gempec中,但我想这个错误与rackup可执行文件的生成有关,它不是gem包的一部分) 替换: r

我正试图让一款应用程序成为一颗宝石,它可以:

 spawn("rackup", "--port", PORT.to_s, "--server", "thin", "-E", "development", File.expand_path("../server.ru", __FILE__))
如果我在gem中使用它,我会得到一个
LoadError
用于
thin
(在打包并安装它之后)(
thin
在我的gempec中,但我想这个错误与rackup可执行文件的生成有关,它不是gem包的一部分)

替换:

run app

server.ru中,文件将启动服务器,但我也需要设置参数

我试着:

ENV['RACK_ENV']='development'
Rack::Handler::Thin.run app, host: 'localhost', port: PORT.to_s

无济于事。将参数化的
rackup
调用转换为具有显式处理程序的可执行
*.ru
文件的诀窍是什么?

Rack::Handler::Thin
有一个
有效的\u选项
方法。 这些键都不起作用,各种组合也不起作用。
SERVER\u端口
SERVER\u主机
env变量也不起作用

最后,我使用
*.ru
文件作为参数运行了
thin
可执行文件,并执行了


这很可能是我尝试过的东西会与Thin以外的处理程序一起工作(即Thin可能是一个蹩脚的rack citizen)。我不知道也不在乎。只是需要让它工作起来。当然,我会感谢(投票/接受)答案,这些答案能更清楚地说明Rack::Handler::Thin有一个有效的方法。 这些键都不起作用,各种组合也不起作用。
SERVER\u端口
SERVER\u主机
env变量也不起作用

最后,我使用
*.ru
文件作为参数运行了
thin
可执行文件,并执行了

这很可能是我尝试过的东西会与Thin以外的处理程序一起工作(即Thin可能是一个蹩脚的rack citizen)。我不知道也不在乎。只是需要让它工作起来。当然,我会感谢(投票/接受)能让这一点更清楚的答案

ENV['RACK_ENV']='development'
Rack::Handler::Thin.run app, host: 'localhost', port: PORT.to_s