/ / Errore nel richiedere gemma Sinatra - rubino, linux, rubygems, sinatra, ubuntu-9.10

Errore nel richiedere gemma Sinatra - rubino, linux, rubygems, sinatra, ubuntu-9.10

Sto avendo difficoltà a far funzionare Sinatra sul mio setup locale, Ubuntu Karmic 9.10. L'errore che si genera quando ho bisogno di "sinatra" è:

NoMethodError: undefined method `[]" for nil:NilClass
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:891:in `compile"
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:883:in `gsub"
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:883:in `compile"
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:856:in `route"
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:838:in `get"
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:1077
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:929:in `configure"
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra/base.rb:1076
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require"
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require"
from /usr/local/lib/ruby/gems/1.8/gems/sinatra-1.0/lib/sinatra.rb:4
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require"
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require"
from (irb):2
from :0

Ho provato:

  • Disinstallazione / reinstallazione di Sinatra
  • Aggiornamento di tutte le gemme
  • Esistono tutte le dipendenze (rack)

Qualche idea? Il tuo tempo e il tuo aiuto sono molto apprezzati!

risposte:

1 per risposta № 1

Questo è un problema apparentemente in arrivo solo con 1.8-head su Linux. È correlato alla corrispondenza delle espressioni regolari. Se dai un'occhiata al codice: path corrisponde /((:w+)|[*#{special_chars.join}])/, ma $2 è nil, anche se dovrebbe essere una stringa.

Vi consiglio di cambiare la versione rubino per ora.