Ошибка при запуске Sinatra: «попытался создать объект Proc без блока» - PullRequest
3 голосов
/ 01 мая 2011

Я очень новичок в 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

Я обновил все драгоценные камни ивсе равно получаю такую ​​же ошибку.Я могу также опубликовать список драгоценных камней.

1 Ответ

3 голосов
/ 01 мая 2011

Из того, что я могу сказать, и с этим я сталкивался раньше, проблема Синатры v1.2.5. v1.2.3 не делает этого, поэтому попробуйте

gem install sinatra -v 1.2.3

для установки предыдущей версии, затем добавьте:

gem 'sinatra', '=1.2.3'

до оператора require.

Это задокументировано как проблема.


РЕДАКТИРОВАТЬ: Синатра только что столкнулся с новой версией 1.2.6, которая решает эту проблему. Используйте gem update sinatra, а затем gem uninstall sinatra -v 1.2.5, чтобы удалить старую версию с ошибками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...