2010-05-02 19 views
1

J'ai du mal à faire fonctionner Sinatra avec ma configuration locale, Ubuntu Karmic 9.10. L'erreur se jeter quand j'ai besoin 'sinatra' est:Erreur lors de l'utilisation de Sinatra gem

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 

J'ai essayé:

  • Désinstaller/réinstallant Sinatra
  • Mise à jour toutes les gemmes
  • toutes les dépendances existent Assurer (rack

Des idées? Votre temps et votre aide sont grandement appréciés!

+0

Quelle était la première ligne vue par irb? – Fred

+0

require 'rubygems' – Dan

+0

Quelle version de ruby ​​utilisez-vous? – Alex

Répondre

1

Il s'agit apparemment d'un problème qui ne se présente qu'avec une version 1.8 sous Linux. C'est lié à l'appariement regexp. Si vous jetez un oeil dans le code: path correspond à /((:\w+)|[\*#{special_chars.join}])/, mais $2 est nil, même s'il est supposé être une chaîne.

Je recommande de changer votre version de rubis pour le moment.

+0

Merci - changeant ruby 1.8.7 semble l'avoir réparé. – Dan