首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sinatra + Bundler?

Sinatra + Bundler?
EN

Stack Overflow用户
提问于 2009-11-10 15:11:31
回答 5查看 16.8K关注 0票数 37

我想知道如何将Bundler与Sinatra一起使用。我们的想法是使用Bundler在.gems文件夹中下载的gem。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-13 12:35:08

我相信最好的方式是在EngineYard博客上描述here

代码语言:javascript
运行
复制
# This makes sure the bundled gems are in our $LOAD_PATH
require File.expand_path(File.join(File.dirname(__FILE__), 'vendor', 'gems', 'environment'))

# This actually requires the bundled gems
Bundler.require_env

class MyApp < Sinatra::Base
  # stuff
end
票数 11
EN

Stack Overflow用户

发布于 2009-11-11 10:42:36

在Sinatra应用程序中,您只需要设置bundler:

代码语言:javascript
运行
复制
require "bundler/setup"
require "sinatra"

get "/" do
  "Hello world!"
end

或者,如果您不想在应用程序顶部添加额外的require "bundler/setup",则可以通过bundle exec (例如bundle exec ruby myapp.rb)调用sinatra。

这里假设您的应用程序根目录中有一个Gemfile。它可能看起来像这样:

代码语言:javascript
运行
复制
source "http://rubygems.org"

gem "sinatra"

这还假设您已经安装了bundler (gem install bundler),并且运行了bundle install来安装所有的gem依赖项。

票数 48
EN

Stack Overflow用户

发布于 2010-07-23 01:16:40

由于我最初的答案已经很旧了,但似乎仍然有人关注这个话题,这里是bundler/sinatra设置的最新版本,它将涵盖大部分用例:

最小config.ru

代码语言:javascript
运行
复制
require './my_sinatra_app'
run MySinatraApp

需要所有捆绑的gem的环境env.rb文件(还支持加载当前环境的组):

代码语言:javascript
运行
复制
require 'bundler/setup'

APP_ENV = ENV["RACK_ENV"] || "development"

Bundler.require :default, APP_ENV.to_sym

然后您的应用程序文件(需要环境)与您的sinatra应用程序(Sinatra::Base):

代码语言:javascript
运行
复制
require_relative 'env'

class MyApp < Sinatra::Base
  get "/" do
    "hello world"
  end
end

使用rackup启动您的开发服务器,Sinatra将通过Bundler加载,您的应用程序将可以从http://localhost:9292访问。

代码语言:javascript
运行
复制
$ rackup

如果需要,也可以使用bundle exec rackup

确保您有如下所示的Gemfile,并在启动应用程序之前运行bundle命令

代码语言:javascript
运行
复制
source "https://rubygems.org"

gem "sinatra"

gem "puma" # a better rack server than the default webrick
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1706120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档