Rails Gemfile.lock

Я добавил раздел для развития в моем Gemfile

group :development do
    gem 'thin'
end

а потом побежал bundle install на моей локальной машине. Это создало Gemfile.lock который содержал тонкий. Я зарегистрировался в этом файле в репо и подтолкнул к Heroku. Обычно я использую unicorn сервер в производстве. Но когда эта версия Gemfile была перенесена в Heroku, приложение упало, сказав command thin not found,

Я не понимаю, почему драгоценный камень, включенный только в группу разработки, повлияет на мое производственное развертывание. Как правильно включить драгоценный камень только в разработку, но не затрагивая развертывание производства Heroku?

1 ответ

Я использую единорога на герою и худого для развития. Мой единорог и тонкий включены в начало гемфайла (тонкий не в разработке), и они работают нормально. Проверьте ваш unicorn.rb(мой, как показано ниже) и обновите свой гемфайл.

worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 15
preload_app true

before_fork do |server, worker|
  Signal.trap 'TERM' do
    puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
    Process.kill 'QUIT', Process.pid
  end

  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.connection.disconnect!
end

after_fork do |server, worker|
  Signal.trap 'TERM' do
    puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
  end

  defined?(ActiveRecord::Base) and
    ActiveRecord::Base.establish_connection
end
Другие вопросы по тегам