【问题标题】:Why heroku detects my sinatra app as rails and fails?为什么heroku将我的sinatra应用程序检测为rails并失败?
【发布时间】:2013-10-27 00:32:24
【问题描述】:
# Gemfile:
source 'https://rubygems.org'
ruby '1.9.3'
gem 'sinatra'
gem 'figaro'
gem 'octokit'

# app.rb
require 'sinatra'
require 'json'
require 'cgi'
require 'octokit'
require 'figaro'

class Application < Sinatra::Base
  get '/' do
    'Hi'
  end
end

# config.ru
require './app'
$stdout.sync = true
run Application

推送时:
-----&gt; Ruby/Rails app detected

但是,如果我删除 figaro gem 并重新推送它可以正常工作。

【问题讨论】:

  • 写一个更精确的Procfiledevcenter.heroku.com/articles/procfile
  • 费加罗看起来很有用,我不知道。我已经写了一个几乎相同的本土版本。如果你喜欢使用它,那么将它分叉并创建一个 Sinatra 版本不仅会让你心痒痒,还会让其他几个人感到痒痒。

标签: ruby heroku sinatra


【解决方案1】:

你自己回答了: figaro 依赖于 Rails(参见 gemspec:https://github.com/laserlemon/figaro/blob/master/figaro.gemspec)。 Heroku 检测 rails 应用程序by looking if their Gemfile.lock 包含 Railties gem,它是 rails 的依赖项。

所以:你的应用程序 -> figaro -> rails -> railties。

因此您的 gem 被识别为 Rails 应用程序。如果不是为了帮助配置 Rails 应用程序,为什么还要使用 Figaro?

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多