2010-04-06 67 views
5

我有一個我創建的Sinatra應用程序,我想將它打包爲一個基於gem的二進制文件。Sinatra應用程序中的寶石

我有我的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) 

回答

5

看出:d

你需要用你的末日應用程序中的一類,像這樣:

class MySinatraApp < Sinatra::Application 
    # Stuff 
end 

然後在運行應用程序的文件你可以做MySinatraApp.run!簡單:)

+0

今天有完全相同的問題;這真的有幫助。謝謝! – mark 2012-07-15 12:21:16

相關問題