37 votes

Sinatra + Bundler?

Je me demande comment on peut utiliser Bundler avec Sinatra. L'idée est d'utiliser les gems que Bundler télécharge dans le dossier .gems.

48voto

Ryan McGeary Points 76053

À l'intérieur de votre Sinatra application, vous avez juste à exiger le bundler de l'installation:

require "bundler/setup"
require "sinatra"

get "/" do
  "Hello world!"
end

Alternativement, si vous ne voulez pas ajouter la require "bundler/setup" en haut de votre application, vous pouvez invoquer l'sinatra via bundle exec (par exemple, bundle exec ruby myapp.rb)

Cela suppose que vous avez un Gemfile à la racine de votre application. Il pourrait ressembler à ceci:

source "http://rubygems.org"

gem "sinatra"

Cela suppose également que vous avez déjà installé bundler (gem install bundler) et que vous avez exécuté bundle install pour installer toutes les dépendances sur des gems.

11voto

khelll Points 12222

Je crois que la meilleure façon est décrite ici sur le blog EngineYard.

10voto

makevoid Points 1921

Il existe un guide simple sur le site Web de lieur.

8voto

Eugene Bolshakov Points 1292

+1 pour le guide sur le site Web de lieur , mais si vous avez une application simple et que vous utilisez le dsl de Sinatra au plus haut niveau, vous devez procéder comme suit:

dans votre Gemfile (dites au bundler de ne pas avoir besoin de sinatra):

 gem 'sinatra', :require => false
 

et dans le fichier de l'application (nécessite explicitement sinatra):

 require 'rubygems'
require 'bundler'
Bundler.require
require 'sinatra'

get '/' do
  'hello world'
end
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X