我对ruby / rails非常新,并且遇到一个我无法弄清楚的问题,但觉得它应该相对简单。
命令:
ruby app.rb
错误:
/Library/Ruby/Gems/1.8/gems/sinatra-1.2.5/lib/sinatra/base.rb:1144:in `define_method': tried to create Proc object without a block (ArgumentError)
from /Library/Ruby/Gems/1.8/gems/sinatra-1.2.5/lib/sinatra/base.rb:1144:in `compile!'
from /Library/Ruby/Gems/1.8/gems/sinatra-1.2.5/lib/sinatra/base.rb:1129:in `route'
from /Library/Ruby/Gems/1.8/gems/sinatra-1.2.5/lib/sinatra/base.rb:1111:in `get'
from /Library/Ruby/Gems/1.8/gems/sinatra-1.2.5/lib/sinatra/base.rb:1474:in `send'
from /Library/Ruby/Gems/1.8/gems/sinatra-1.2.5/lib/sinatra/base.rb:1474:in `get'
from app.rb:4
app.rb内容:
require 'rubygems'
require 'sinatra'
get '/' do
"Hello World"
end
我更新了所有宝石,但仍然遇到同样的错误。如果需要,我也可以发布宝石列表。
答案 0 :(得分:3)
从我所知道的,我之前遇到过这个问题,Sinatra的v1.2.5就是问题所在。 v1.2.3没有这样做,所以试试
gem install sinatra -v 1.2.3
安装以前的版本,然后添加:
gem 'sinatra', '=1.2.3'
在require
陈述之前。
This is documented是一个问题。
gem update sinatra
,然后使用gem uninstall sinatra -v 1.2.5
删除旧的,错误的版本。