3

シナトラの始めをやっています。このエラーが発生します:

./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

これらのエラーをグーグルで検索すると、rubyLoadErrorが返されます。これがにどのように関連しているかわからないようなファイルをロードできませんSinatra

質問を明確にするために、他にどのような情報を共有する必要があるかわかりません。したがって、質問を明確にするために実行する必要がある他のコマンドを教えてください。

更新:実際のコード

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

get '/' do
        'hey girl'
end
4

1 に答える 1

5

ここでの問題は、ファイルに名前を付けたことによるものですsinatra.rb。そのファイルを実行すると、まずrequire 'sinatra'、Ruby 1.8.7 ではカレント ディレクトリがロード パス上にあるため、それ自体をロードしようとします。その後、 への呼び出しに到達しget '/' do ...ますが、実際の Sinatra がロードされていないため、エラーが発生します。

修正は、ファイルの名前を 以外の名前に変更することです。リンク先のページで提案されているようにsinatra.rb使用できます。myapp.rb

于 2012-06-21T23:38:42.057 に答える