Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 要求Sinatra宝石时出错_Ruby_Linux_Rubygems_Sinatra_Ubuntu 9.10 - Fatal编程技术网

Ruby 要求Sinatra宝石时出错

Ruby 要求Sinatra宝石时出错,ruby,linux,rubygems,sinatra,ubuntu-9.10,Ruby,Linux,Rubygems,Sinatra,Ubuntu 9.10,我很难让Sinatra在我的本地设置Ubuntu Karmic 9.10上运行。当我需要“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

我很难让Sinatra在我的本地设置Ubuntu Karmic 9.10上运行。当我需要“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
我试过:

  • 卸载/重新安装Sinatra
  • 更新所有gem
  • 确保存在所有依赖项(机架)

有什么想法吗?非常感谢您的时间和帮助

这显然只是Linux上1.8-head的一个问题。它与regexp匹配相关。如果查看代码:
路径
确实匹配
/(:\w+)[\*.{special\u chars.join}])/
,但是
$2
,即使它应该是字符串


我建议现在就切换您的ruby版本。

这显然是Linux上1.8-head出现的问题。它与regexp匹配相关。如果查看代码:
路径
确实匹配
/(:\w+)[\*.{special\u chars.join}])/
,但是
$2
,即使它应该是字符串


我建议现在就切换你的ruby版本。

irb看到的第一行是什么?你运行的是什么版本的ruby?
错误要求Sinatra Gem
,这是因为它已经不存在了:(我希望链接保持不变)irb看到的第一行是什么?您运行的是什么版本的ruby?
要求Sinatra Gem时出错
这是因为它已经消失了:(我希望链接保持不变)谢谢-改成ruby 1.8.7似乎已经解决了问题。谢谢-改成ruby 1.8.7似乎已经解决了问题。