rvm如何管理Gem / gemsets

时间:2011-12-21 03:50:26

标签: ruby-on-rails ruby rvm

我想知道RVM如何管理gem / gemsets。例如,我默认使用ruby 1.9.2@global并在此环境中安装了rails 3.1.3。后来我从其他人那里复制了一个rails项目,它基于rails 3.0.10。通过cd进入文件夹,我运行rails -v,它建议我运行bundle install。我这样做了。在此之后,安装了许多宝石,包括rails 3.0.10。但是当我做rvm 1.9.2做gemset列表时,没有新的gemset(虽然这是预期的)。那么如何管理两个版本的rails?

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以在Gem.path中拥有多条路径。

尝试运行ruby -r rubygems -e "p Gem.path"并检查输出,您会看到@global和当前的gemset都包含在内。

Rubygems使用$GEM_PATH变量来确定查找/安装gems的位置,这是RVM在更改ruby版本/ gemset时设置的内容之一。

此外,可能值得查看一些环境变量RVM集。运行这个:

env | grep -i rvm||path

可能会有一些额外的(包括$PATH),但是你会看到很多RVM环境变量。

这就是为什么有些人喜欢rbenv,这是一种管理ruby版本的简单方法。