Develop on windows, run unicorn in production on h

2019-02-01 10:21发布

I have a new Rails project and i decided to give heroku a try, deployment seems very easy there

I am developing on windows, so running unicorn is not a choice, but webrick is fine for development

BUT, when it come to deployment , i want to use unicorn, and heroku perfectly support this

The Problem Is: i have to list unicorn on my Gemfile in order for heroku to pick it, but when i do that and run bundle command (or rails s) on my windows dev machine, it tries to install the unicorn server

i tried to put unicorn in the production group, group :production do gem 'unicorn' end still bundle complain and i cannot run the dev server

2条回答
祖国的老花朵
2楼-- · 2019-02-01 10:38

The alternative solution (which the original poster was very close to) is

group :production do
  gem 'unicorn'
end

and then using

bundle install --without production

on your Windows machine.

Heroku sidenote (not tested)

Unlike the accepted answer, this should not cause Heroku to ignore your Gemfile.lock

This is because Heroku checks your Gemfile for mswin and mingw when deciding if it is Windows generated or not.

查看更多
放荡不羁爱自由
3楼-- · 2019-02-01 10:40

You can target specific platforms in your Gemfile:

platforms :ruby do # linux
  gem 'unicorn'
end

platforms :mswin do
  # gems specific to windows
end

see the manpages for gemfile for more information.

查看更多
登录 后发表回答