Haciendo el empezando de sinatra. Me sale este error:
./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
Google en estos errores devuelve Ruby LoadError: no se puede cargar dicho archivo que no veo cómo se relaciona con Sinatra
.
No estoy seguro de qué otra información debo compartir para aclarar mi pregunta. Así que solo dime qué otros comandos debo ejecutar para aclarar la pregunta.
ACTUALIZAR: Código actual
# sinatra.rb
require "rubygems"
require "sinatra"
get "/" do
"hey girl"
end
Respuestas
5 para la respuesta № 1El problema aquí se debe a que nombras tu archivo sinatra.rb
. Cuando ejecutas ese archivo, lo primero que hace es require "sinatra"
, y dado que el directorio actual está en la ruta de carga en Ruby 1.8.7, intenta cargar sí mismo. Entonces llega a la llamada a get "/" do ...
, pero como el verdadero Sinatra no se ha cargado, esto genera el error.
La solución es cambiar el nombre de su archivo a otro que no sea sinatra.rb
, podrias usar myapp.rb
como se sugiere en la página a la que se ha vinculado.