如何在多台服务器上保持我的Ruby Gems相同?

时间:2011-10-08 21:40:08

标签: ruby-on-rails ruby ruby-on-rails-3 gem rvm

我有几台服务器用于开发,升级,测试和生产,并希望让我的Ruby版本和Gem版本在不同的机器之间保持同步 - 这是最好的方法吗?

3 个答案:

答案 0 :(得分:2)

rvm是管理ruby版本的最佳选择

但是我不确定你是否真的想经常更改ruby版本。

bundler& Gemfile是处理gem版本的好方法

跟踪你的Gemfile&& git(或其他cvs)树中的Gemfile.lock文件,并在更改

上运行bundle install

答案 1 :(得分:2)

如果您正在使用Rails 3,您可以使用Gemfile和bundler,当您在任何计算机上执行“捆绑更新”时,它将自动为该用户安装正确版本的Gems帐户。

您应该使用RVM来管理您的Ruby版本,并保持不同Ruby版本的Gems彼此分离。

您还应该为Rails应用程序创建一个“gemset”,以确保安装在那里的Gems不会从您在同一台计算机上使用或开发的其他Rails应用程序进行修改。

http://beginrescueend.com/

http://railscasts.com/episodes/200-rails-3-beta-and-rvm

答案 2 :(得分:1)

如果宝石集中的宝石多于Gemfile中的宝石,你也可以这样做

rvm gemset export gemsetname.gems

然后在另一台机器上你会做一个

rvm gemset import gemsetname.gems

您甚至可以将其作为

rvm x.x.x@mygemset exec rvm gemset export mygemset.gems

所以你不必直接进入你的宝石集。然后在新机器上,

rvm --create use x.x.x@mygemset && rvm gemset import mygemset.gems

将创建并填充mygemset gem set。