刚刚开始使用Ruby。
我正试着用rvm。现在,对于项目A,我试图指定一个指定的Ruby版本和一个gemset。
$ cat projecta/.rvmrc
rvm 1.8.7@projecta
我的理解是,@之前的部分指定Ruby版本,@之后的部分指定gemset名称。gemset IMU是提供一个项目特定的隔离位置,您可以在那里安装gem。
在我签入这个项目后,我能做些什么来自动创建gemset并为其他人安装正确的Ruby版本,以便稍后签出该项目?
请提出合适的替代方案,因为我今天才刚刚开始使用Ruby。
旧方法
要确保宝石/红宝石可用,请使用此.rvmrc
:
rvm use 1.8.7@projecta --install --create
如果缺少,它将安装ruby,如果缺少,则创建gemset。
特别注意,请不要使用1.8.7,它是不推荐使用的ruby,几乎没有支持(安全补丁到2013年下半年),你应该坚持使用最新可用的ruby:
rvm use ruby
此时为:1.9.3-p194
按需添加语法
你的语法不能像写的那样工作。如果你想强迫人们根据需要编译rubies和创建宝石集,而不是在不存在的时候被警告,你需要一个项目.rvmrc文件,如下所示:
# Compile rubies on demand.
rvm_install_on_use_flag=1
# Create gemsets on demand.
rvm_gemset_create_on_use_flag=1
# Use ruby-1.8.7 while in project tree.
rvm use 1.8.7
# Use gemset "projecta" while in project tree.
rvm gemset use projecta
当然还有其他方法可以做到这一点,但这种方法使一切都变得明确,如果你需要的话,你可以注释掉单独的行
另请参阅
https://rvm.io/workflow/rvmrc/