ruby - 需要 Sinatra gem 时出错

标签 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-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 上。它与正则表达式匹配有关。如果您查看代码:path 确实匹配 /((:\w+)|[\*#{special_chars.join}])/,但 >$2nil,即使它应该是一个字符串。

我建议您暂时切换您的 ruby​​ 版本。

关于ruby - 需要 Sinatra gem 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2752120/

相关文章:

css - 我想在我的 Action Mailer View 中使用 Bootstrap 2

ruby - 如何在大型集合中有效地计算所有短语?

linux - 比较字符串时出现问题 (BASH)

linux - 如何在不使用脚本的情况下使用脚本在 shell 中设置变量?

c - 从设备到主机的用户模式 ​​USB 同步传输

ruby-on-rails - 使用来自私有(private) bitbucket 存储库的 gem

ruby - 选择 ""与 ruby 中的 Mechanize 链接

ruby - 如何在 sass 上启用调试,以便我可以使用 firesass?

ruby-on-rails - Rails 3. 使用 Formtastic 有条件地显示字段

ruby-on-rails - Rails - update_column 和 ActiveRecord 枚举