17

我有一个新的 Rails 项目,我决定尝试一下 heroku,在那里部署似乎很容易

我在windows上开发,所以运行unicorn不是一个选择,但是webrick适合开发

但是,在部署方面,我想使用独角兽,heroku 完全支持这一点

问题是:我必须在我的 Gemfile 上列出独角兽才能让 heroku 选择它,但是当我这样做并在我的 Windows 开发机器上运行 bundle 命令(或 rails s)时,它会尝试安装独角兽服务器

我试图将独角兽放在生产组中,组:生产做 gem 'unicorn' end 仍然捆绑抱怨,我无法运行开发服务器

4

2 回答 2

42

您可以在 Gemfile 中定位特定平台:

platforms :ruby do # linux
  gem 'unicorn'
end

platforms :mswin do
  # gems specific to windows
end

有关更多信息,请参见gemfile的手册页。

于 2012-05-26T07:24:57.517 回答
16

替代解决方案(原始海报非常接近)是

group :production do
  gem 'unicorn'
end

然后使用

bundle install --without production

在您的 Windows 机器上。

Heroku 旁注(未测试)

与接受的答案不同,这不应导致 Heroku 忽略您的Gemfile.lock

这是因为 Heroku 会检查您的 Gemfilemswin是否mingw是 Windows 生成的。

于 2013-05-24T16:23:02.543 回答