我希望能够在我的Gemfile中定义在我的开发机器(Windows 7)上应该安装某个gem(pg)版本(0.14.0-x86-mingw32),但是在我的 生产环境 服务器(Debian)上它应该安装常规版 .
我已经尝试在Gemfile中定义组,但这似乎没有反映在Gemfile.lock中,当我在我的开发机器(Windows)上运行 bundle install
时,它在Gemfile.lock中列出了gem的windows版本 . 然后,当我尝试使用Capistrano进行部署时,它使用 --deployment
参数(和 --without groups-i-want-to-exclude
)运行bundle,它使用Gemfile.lock并且根本不安装pg gem,因为列出的版本是针对Windows的 .
我不想在我的 生产环境 服务器上手动编辑Gemfile.lock,因为这通常是一个坏主意,每次我从我的repo重新部署它将更改回特定于Windows的版本 . 我也不想关闭--deployment选项(我当前的解决方案),因为这不是在这种情况下打算使用bundler的方式 .
1 回答
如果您不想在 生产环境 服务器上更改Gemfile.lock,则可以在本地计算机上更改它 . 尝试希望这项工作,在捆绑安装后在Gemfile.lock中手动更改,并部署 -