Поскольку мой первоначальный ответ был довольно старым, но, кажется, все еще внимание к этой теме, вот последняя версия настройки bundler / sinatra, которая будет охватывать большую часть сценария использования:
Минимальный config.ru
require './my_sinatra_app'
run MySinatraApp
Файл среды env.rb
, для которого требуются все связанные гемы (также поддерживается загрузка группы текущей среды):
require 'bundler/setup'
APP_ENV = ENV["RACK_ENV"] || "development"
Bundler.require :default, APP_ENV.to_sym
Затем файл вашего приложения (требующий среды) с приложением sinatra (Sinatra::Base
):
require_relative 'env'
class MyApp < Sinatra::Base
get "/" do
"hello world"
end
end
Запустите ваш сервер разработки с Rackup, и Sinatra будет загружен через Bundler, ваше приложение будет доступно с http://localhost:9292.
$ rackup
или bundle exec rackup
при необходимости
Убедитесь, что у вас есть Gemfile, подобный следующему, и вы запускаете команду bundle
перед запуском приложения
source "https://rubygems.org"
gem "sinatra"
gem "puma" # a better rack server than the default webrick