【发布时间】:2015-05-01 15:50:04
【问题描述】:
我想在我们当前运行的生产网站上升级我们的 Ruby 版本和一堆 gem。我们使用 RVM 来管理我们的 Ruby 版本和 gemset。
我知道如何使用 RVM 安装新的 Ruby 版本并在 gemset 中安装 gem。我也明白,如果我运行 bundle install,它会将我的 gem 安装到我正在运行命令的 Ruby 版本中。
有没有办法预先创建一个包含 gemset 的 Ruby 版本,然后交换我的生产站点以使用这个新的 Ruby 版本和 gemset?我知道这可以手动完成,但无论如何可以用 gemfile 来完成吗?
【问题讨论】:
-
rvm + git + bundler + capistrano = 版本迁移没有问题
-
我已经在使用 rvm、git 和 bundler,据我了解 capistrano 用于部署过程。我感兴趣的是如何。我有一个正在运行的实时站点,我如何创建一个新的 ruby 版本和 gemset,然后切换它。有时我会遇到捆绑安装问题,这可能会非常伤脑筋。更改 ruby 版本和全新的 gemset 对我们来说是一件大事,我希望最大限度地减少停机时间和风险。预安装版本和 gemsets 然后切换到那个感觉比只运行 bundle install 更安全。就是我的感受。
-
gemgets 已被弃用,而是使用
bundler。如果您使用捆绑程序,您可以简单地切换任何您想要的 gem 版本。只需确保您的应用在本地适用于新的 gem 版本 -
如果我切换版本、进行捆绑安装,然后重新启动服务器,我的服务器会继续正常运行吗?您可以向我指出您在使用 bundler 谈论什么的任何文档?
-
如果您的应用程序在本地运行良好,那么在生产上也可以使用
标签: ruby-on-rails ruby ruby-on-rails-4 rvm