我想尝试Sinatra,因为我听说它对于新手web-dev比使用rails更好..而且一般来说我更喜欢简约而不是简约。
为了解释这一点,我使用的是ruby 2以及gem install所能获得的任何版本的sinatra。
到目前为止,我所做的一切都是基本的
require 'sinatra'
get '/' do
'Hello, World!'
end
尝试使用ruby basics.rb运行服务器并将其抛给我:
/home/ch35hir3/.rvm/gems/ruby-2.0.0-p247/gems/thin-2.0.0.pre/lib/thin/server.rb:108:in `initialize': wrong number of arguments (4 for 0..3) (ArgumentError)
from /home/ch35hir3/.rvm/gems/ruby-2.0.0-p247/gems/rack- 1.5.2/lib/rack/handler/thin.rb:14:in `new'
from /home/ch35hir3/.rvm/gems/ruby-2.0.0-p247/gems/rack -1.5.2/lib/rack/handler/thin.rb:14:in `run'
from /home/ch35hir3/.rvm/gems/ruby-2.0.0-p247/gems/sinatra-1.4.4/lib/sinatra/base.rb:1488:in `start_server'
from /home/ch35hir3/.rvm/gems/ruby-2.0.0-p247/gems/sinatra-1.4.4/lib/sinatra/base.rb:1426:in `run!'
from /home/ch35hir3/.rvm/gems/ruby-2.0.0-p247/gems/sinatra-1.4.4/lib/sinatra/main.rb:25:in `block in <module:Sinatra>'
当然我试着用谷歌搜索错误,只是一般性地探讨,但我真的不知道该怎么做。
答案 0 :(得分:5)
您的thin
gem是pre
版本。删除该gem并使用thin 1.6.0应该可以解决问题。 gem uninstall thin && gem install thin
。或者,您可以使用不同的服务器,如puma。 gem install puma
,然后在require 'sinatra'
下添加configure { set :server, :puma }