我想知道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?
提前谢谢
答案 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版本的简单方法。