2012-06-21 4 views
3

Sinatra의 getting started하는 중.Sinatra의 실수 'hello world'

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

이러한 오류에 인터넷 검색을하는 것은 그 Sinatra 관련이 있는지 내가 보지 않는 ruby LoadError: cannot load such file 반환 나는이 오류가 발생합니다.

내 질문을 명확하게하기 위해 어떤 정보를 공유해야하는지 확실하지 않습니다. 그래서 질문을 명확하게하기 위해 내가 실행해야 할 다른 명령을 말해주십시오.

UPDATE : 실제 코드 여기

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

get '/' do 
     'hey girl' 
end 
+1

실제 코드를 게시 할 수 있습니까? 외부 링크는 좋지 않습니다. –

+0

'sinatra.rb'의 5 행에서'gets'가 아닌'get'을 호출하는 코드가 있습니까? – Linuxios

+0

@Linuxios 예, 있습니다. – isomorphismes

답변

5

문제는 당신이 파일 sinatra.rb 명명 때문이다. 이 파일을 실행할 때 가장 먼저 수행 할 작업은 require 'sinatra'이며, 현재 디렉토리가 1.8.7로드 경로에 있으므로 자체를로드하려고 시도합니다 (). 그런 다음 get '/' do ...을 호출하지만 실제 Sinatra가로드되지 않았기 때문에이 오류가 발생합니다.

해결 방법 파일 이름을 sinatra.rb으로 바꾸는 것이 좋습니다. 연결된 페이지에서 제안 된대로 myapp.rb을 사용할 수 있습니다.

+0

고마워요! 내 멍청한 실수. – isomorphismes

+0

오류가 내부적으로 어떻게 작동하는지에 대한 설명을 수정했습니다. – isomorphismes