我希望能够在我的 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 在这种情况下的用途。