支持
RVM 由志愿者社区维护,请将问题报告至 RVM 问题追踪器。
如果您能提供帮助或希望成为维护者之一,请开始提供帮助。您可以在 RVM Github 组织 中找到更多与 RVM 相关的项目。
赞助商
Carbon Ads

典型 RVM 项目工作流程

RVM 支持多种类型的文件,以允许为项目配置自动 ruby 切换。在任何情况下,请确保将这些文件添加到您的版本控制系统中,因为它是项目配置的一部分。

支持的文件

按优先级排序

备注

项目文件 .rvmrc

这是第一个支持的格式,它优先于任何其他文件。.rvmrc 有一个主要缺陷 - 它需要信任以防止执行未经授权的代码,这使得它难以使用并使部署到生产环境变得复杂。在不需要脚本的情况下,鼓励使用其他项目文件。

生成一个简单的 .rvmrc

echo 'rvm --create use ree@tedxperth' > .rvmrc

更复杂的版本

rvm --create use ree@tedxperth --rvmrc

可以编辑该文件以提供额外的自定义。

要信任该文件

rvm rvmrc trust /path/to/project

项目文件 .ruby-version

该文件也受 chrubyrbenv 支持。.ruby-version 只是一个 ruby 名称,因此它不需要信任,并且比 .rvmrc 更简单。

生成 .ruby-version

echo 1.9.3 > .ruby-version   # OR:
rvm --ruby-version use 1.9.3

在 RVM 中,.ruby-version 也支持以 ruby@gemset 的形式指定 gemset,但这与其他 Ruby 版本管理器不兼容。可以使用另一个文件来指定 gemset,而不会破坏兼容性 - .ruby-gemset

生成 .ruby-gemset

echo my_app > .ruby-gemset   # OR:
rvm --ruby-version use 1.9.3@my_app

第二种形式将创建 .ruby-version.ruby-gemset

一些项目需要在环境中进行额外的配置;可以使用 .ruby-env 文件来支持这一点。

echo "JRUBY_OPTS=--1.9" >> .ruby-env

进入项目目录时将设置此变量,并在退出项目目录时恢复到其先前值。

请注意,以下文件也受支持:.rbenv-version.rbenv-vars.rbfu-version。它们的优先级低于 .ruby-version

项目文件 .versions.conf

对于更高级的项目,支持 .versions.conf,其中可以指定比 ruby 版本更多的内容。

生成 .versions.conf

rvm --create --versions-conf use 1.9.3@my_app

.versions.conf 示例

ruby=jruby-1.6.8
ruby-gemset=my_app
env-JRUBY_OPTS=--1.9

项目文件 Gemfile

Gemfileruby 指令受支持,并将被 RVM 读取。

Gemfile 示例

ruby "1.9.3"
gem  "haml"

如果无法使用 ruby 指令,或者需要更细粒度的版本,则以下注释将优先于指令。

#ruby=jruby-1.6.8
#ruby-gemset=my_app
#ruby-env-JRUBY_OPTS=--1.9

另一个示例,使用特定补丁级别的 MRI Ruby

#ruby=ruby-1.9.3-p194
#ruby-gemset=my_app

注释是首选,因为旧版本的 bundler 不支持该指令。

RVM 配置

这些变量可以在 ~/.rvmrc/etc/rvmrc 中设置

社区资源