Разрабатывайте на windows, запускайте unicorn в производство на heroku

У меня есть новый проект Rails, и я решил дать heroku попробовать, развертывание кажется очень легким там

Я разрабатываю windows, поэтому запуск unicorn не является выбором, но webrick отлично подходит для разработки

но, когда дело доходит до развертывания, я хочу использовать unicorn, и heroku отлично поддерживает это

проблема в том, что я должен перечислить единорога в своем Gemfile, чтобы heroku выбрал его, но когда я это сделаю и запустил команду bundle (или rails s) на моем машина Windows dev, она пытается установить сервер unicorn

Я пытался поставить unicorn в производственную группу, группа :производство делать гем 'единорог' конец все еще пакет жалуется, и я не могу запустить dev-сервер

2 ответов


вы можете ориентироваться на определенные платформы в вашем Gemfile:

platforms :ruby do # linux
  gem 'unicorn'
end

platforms :mswin do
  # gems specific to windows
end

посмотреть manpages для gemfile для получения дополнительной информации.


альтернативным решением (к которому был очень близок оригинальный плакат) является

group :production do
  gem 'unicorn'
end

и затем с помощью

bundle install --without production

на вашем компьютере с Windows.

в Heroku заметка (не проверял)

В отличие от принятого ответа, это не должно заставить Heroku игнорировать ваш Gemfile.lock

это потому, что Heroku проверяет ваш Gemfile для mswin и mingw при принятии решения, если это генерируется Windows или нет.