0

我希望能够在我的 Gemfile 中定义在我的开发机器(Windows 7)上应该安装某个 gem(pg)版本(0.14.0-x86-mingw32),但在我的生产服务器(Debian)上应该安装它普通版。

我尝试在 Gemfile 中定义组,但这似乎没有反映在 Gemfile.lock 中,当我bundle install在我的开发机器 (Windows) 上运行时,它在 Gemfile.lock 中列出了 gem 的 windows 版本。然后,当我尝试使用 Capistrano 进行部署时,它使用--deployment参数 (and --without groups-i-want-to-exclude) 运行 bundle,它使用 Gemfile.lock 并且根本不安装 pg gem,因为列出的版本适用于 Windows。

我不想在我的生产服务器上手动编辑 Gemfile.lock,因为这通常是个坏主意,而且每次我从我的 repo 重新部署时,它都会变回特定于 windows 的版本。我也不想关闭 --deployment 选项(我当前的解决方案),因为这不是 bundler 在这种情况下的用途。

4

1 回答 1

0

如果您不想在生产服务器上更改 Gemfile.lock,那么您可以在本地机器上更改它。尝试希望这项工作,在安装包后在 Gemfile.lock 中手动更改,然后部署 -

PLATFORMS
  ruby
  x86-mingw32
于 2012-09-29T06:52:14.767 回答