我有一个我创建的Sinatra应用程序,我想将其打包为基于gem的二进制文件。
我设置了gemspec和gem来生成一个指向my_sinatra_app.rb
(可执行)的合适的可执行文件,但sinatra服务器永远不会运行。任何想法为什么以及如何使它发挥作用?
my_sinatra_app
可执行文件:
#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
#
# This file was generated by RubyGems.
require 'rubygems'
version = ">= 0"
if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
version = $1
ARGV.shift
end
gem 'my_sinatra_app', version
load Gem.bin_path('my_sinatra_app', 'my_sinatra_app', version)
答案 0 :(得分:5)
发现:D
您需要将Sinatra应用程序包装在类似的类中:
class MySinatraApp < Sinatra::Application
# Stuff
end
然后在运行应用程序的文件中,您只需执行MySinatraApp.run!
简单:)