微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – 西纳特拉“你好世界”中的错误

做了Sinatra的getting started.
我收到此错误

./sinatra.rb:5: undefined method `get' for main:Object (NoMethodError)
        from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
        from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
        from sinatra.rb:3

谷歌搜索这些错误返回ruby LoadError: cannot load such file,我不知道这与Sinatra有什么关系.

不确定我需要分享哪些其他信息才能使我的问题更加清晰.那么告诉我应该运行哪些其他命令来清楚地解决问题.

更新:实际代码

# sinatra.rb
require 'rubygems'
require 'sinatra'

get '/' do
        'hey girl'
end

解决方法:

这里的问题是由于您命名文件sinatra.rb.当你运行该文件时,它首先要做的是’sinatra’,并且由于当前目录在Ruby 1.8.7的加载路径上,它会尝试加载自己.然后它会调用get’/’do …,但由于真正的Sinatra尚未加载,因此会导致错误.

修复是将您的文件重命名为sinatra.rb以外的其他内容,您可以使用您链接到的页面中建议的myapp.rb.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐