首页 文章

为不同的操作系统定义不同的宝石所以它在Gemfile.lock中反映并且可以与--deployment选项捆绑在一起

提问于
浏览
0

我希望能够在我的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 回答

  • 0

    如果您不想在 生产环境 服务器上更改Gemfile.lock,则可以在本地计算机上更改它 . 尝试希望这项工作,在捆绑安装后在Gemfile.lock中手动更改,并部署 -

    PLATFORMS
      ruby
      x86-mingw32
    

相关问题