socketry / falcon

A high-performance web server for Ruby, supporting HTTP/1, HTTP/2 and TLS.
https://socketry.github.io/falcon/
MIT License
2.62k stars 79 forks source link

Sinatra - cannot load such file -- sinatra/base #213

Closed juneira closed 11 months ago

juneira commented 11 months ago

When I run: falcon --verbose serve --bind "https://0.0.0.0:3000"

With config.ru:

# frozen_string_literal: true

require 'sinatra/base'
class App < Sinatra::Base
  get "/" do
    "hello"
  end
end

use App
run lambda {|env| [404, {}, []]}

This exception is raised:

 1.53s    error: Async::Container::Process [ec=0xd34] [pid=2467] [2023-10-21 11:59:31 +0000]
               |   LoadError: cannot load such file -- sinatra/base
               |   → <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb> 37
               |     <internal:/usr/local/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb> 37
               |     config.ru:3 in `block in <main>'
               |     /usr/local/bundle/gems/rack-1.6.13/lib/rack/builder.rb:55 in `instance_eval'
               |     /usr/local/bundle/gems/rack-1.6.13/lib/rack/builder.rb:55 in `initialize'
               |     config.ru:in `new' 
               |     config.ru:in `<main>' 
               |     /usr/local/bundle/gems/rack-1.6.13/lib/rack/builder.rb:49 in `eval'
               |     /usr/local/bundle/gems/rack-1.6.13/lib/rack/builder.rb:49 in `new_from_string'
               |     /usr/local/bundle/gems/rack-1.6.13/lib/rack/builder.rb:40 in `parse_file'
               |     /usr/local/bundle/gems/falcon-0.42.3/lib/falcon/command/serve.rb:97 in `load_app'
               |     /usr/local/bundle/gems/falcon-0.42.3/lib/falcon/controller/serve.rb:60 in `load_app'
               |     /usr/local/bundle/gems/falcon-0.42.3/lib/falcon/controller/serve.rb:89 in `block (2 levels) in setup'
               |     /usr/local/bundle/gems/async-2.6.4/lib/async/task.rb:160 in `block in run'
               |     /usr/local/bundle/gems/async-2.6.4/lib/async/task.rb:330 in `block in schedule'

(I follow this example)

ioquatix commented 11 months ago

Do you have the gemfile?

Also did you try running bundle exec falcon ...?

juneira commented 11 months ago

This work! Thank you ❤️