为什么heroku会将我的sinatra应用程序检测为rails并失败?

时间:2013-10-18 08:29:56

标签: ruby heroku sinatra

# 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

推动时:
-----> Ruby/Rails app detected

但是,如果我删除figaro gem并且重新安装它就可以了。

1 个答案:

答案 0 :(得分:3)

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

所以:yourapp - &gt; figaro - &gt; rails - &gt; railties。

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