iso*_*mes 3 ruby linux sinatra
做Sinatra 的入门.我收到此错误:
./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
Run Code Online (Sandbox Code Playgroud)
谷歌搜索这些错误返回ruby LoadError:无法加载这样的文件,我没有看到它与之相关Sinatra.
不确定我需要分享哪些其他信息才能使我的问题更加清晰.那么告诉我应该运行哪些其他命令来清楚地解决问题.
更新:实际代码
# sinatra.rb
require 'rubygems'
require 'sinatra'
get '/' do
'hey girl'
end
Run Code Online (Sandbox Code Playgroud)
这里的问题是由于您命名文件sinatra.rb.当您运行该文件时,它首先要做的是require 'sinatra',并且由于当前目录位于Ruby 1.8.7中的加载路径上,因此它会尝试加载自身.然后它会调用get '/' do ...,但由于真正的Sinatra尚未加载,因此会导致错误.
修复方法是将文件重命名为其他内容sinatra.rb,您可以myapp.rb按照链接到的页面中的建议使用.