了解并使用特定于项目的.rvmrc rvm配置文件



刚刚开始使用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/

最新更新