0

私はシナトラを学んでいますが、次のエラーが表示されます

Boot Error

Something went wrong while loading recall.rb
NoMethodError: undefined method `<<' for nil:NilClass

/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-flash-0.1.2/lib/rack/flash.rb:11:in `use'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/bin/shotgun:128:in `block (2 levels) in <top (required)>'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:104:in `instance_eval'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:104:in `block in assemble_app'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:103:in `new'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:103:in `assemble_app'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:86:in `proceed_as_child'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:31:in `call!'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/loader.rb:18:in `call'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/favicon.rb:12:in `call'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/shotgun-0.9/lib/shotgun/static.rb:14:in `call'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:134:in `call'
/Users/nikhil/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/handler/webrick.rb:59:in `service'
/Users/nikhil/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/Users/nikhil/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/Users/nikhil/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

id がソース ファイルを指していないため、解読できません。

通知とエラーメッセージについて話しているチュートリアルのこの部分に従ったときに、エラーが発生しました。私のアプリのメイン ファイルには、次の gem が含まれています。

require "sinatra"
require "data_mapper"
require "rack-flash"
require "sinatra/redirect_with_flash"
4

1 に答える 1

2

使用しているラックのバージョンでは動作しない古いバージョンのラック フラッシュを使用しています。エラーをスローする行は、その後変更されたラックの内部状態を変更しようとしているラック フラッシュ自体の内部にあります。

何らかの理由で、その gem の最新バージョンは rack-flash3 と呼ばれます。これが、 install rack-flash が依然として古いバージョンの gem を取得する理由です。

于 2012-07-08T19:58:06.617 に答える