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 № 1Questo è 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.