我在Gemfile中添加了一个用于开发的部分
group :development do
gem 'thin'
end然后在我的本地机器上运行bundle install。这创建了一个包含thin的Gemfile.lock。我将此文件签入存储库,并推送到Heroku。通常我在生产环境中使用unicorn服务器。但是当这个版本的Gemfile被推送到Heroku时,应用程序崩溃了,上面写着command thin not found。
我不明白为什么只包含在开发组中的gem会影响我的生产部署。将gem包含在开发中而不影响Heroku生产部署的正确方法是什么?
发布于 2014-04-03 10:13:52
我在heroku和thin上使用unicorn进行开发。我的独角兽和瘦包含在gemfile的顶部(瘦的,不是在开发中),它们工作得很好。检查你的unicorn.rb(我的如下所示)并更新你的gemfile。
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
endhttps://stackoverflow.com/questions/22273094
复制相似问题