使用rvmrc或ruby-version文件用RVM设置项目gemset?

时间:2013-03-29 18:09:08

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 rvm rvmrc

我使用RVM,Ruby Version Manager为每个Rails项目指定一个Ruby版本和一组gem。

我有一个.rvmrc文件,可以在cd到项目目录时自动选择Ruby版本和gemset。

安装RVM 1.19.0后,我收到一条消息

  

您正在使用.rvmrc,它需要信任,它更慢而且确实如此   与其他ruby管理器不兼容,您可以切换到   .ruby-version使用rvm rvmrc to [.]ruby-version或忽略此内容   警告rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc,   .rvmrc将继续作为RVM 1和RVM中的默认项目文件   2,忽略运行rvm rvmrc warning ignore all.rvmrcs的所有文件的警告。

我应该继续使用我的.rvmrc文件还是应该切换到.ruby-version文件?哪个是最佳的?有什么后果?

5 个答案:

答案 0 :(得分:370)

如果您的.rvmrc文件包含自定义shell代码,请继续使用.rvmrc,因为它允许您包含任何shell代码。

如果你的唯一目的是切换Ruby版本,那么使用其他Ruby版本切换器支持的.ruby-version,例如rbenvchruby。此文件也不需要信任,因为它只是Ruby版本的名称,不会以任何方式执行。

如果您使用.ruby-version,则可以在文件中加入@gemset,但这与其他切换器不兼容。为了保持兼容性,请在单独的文件.ruby-gemset中使用gemset名称,其他工具会忽略它(它只能与.ruby-version一起使用)

例如,如果你有一个简单的.rvmrc

rvm use 1.9.3@my-app

可以将其转换为.ruby-version

1.9.3

.ruby-gemset

my-app

请务必删除.rvmrc文件,因为它优先于任何其他项目配置文件:

rm .rvmrc

答案 1 :(得分:76)

从.rvmrc切换到.ruby-version + .ruby-gemset

的快速简便方法
rvm rvmrc to .ruby-version

答案 2 :(得分:4)

如果您想以简短的方式创建.ruby-version.ruby-gemset文件,可以使用以下命令:

rvm use 2.1.1@nancy --create

rvm --create --ruby-version 2.1.1@nancy

答案 3 :(得分:2)

你可以尝试两者。 转到项目的根目录,创建 .rvmrc 文件(touch .rvmrc),然后编辑 rvm use 2.0.0-p451@your_gemset(您的ruby版本和gemset名称)。 保存此文件后,您可以键入以下命令:

cd ../your_project(您位于 your_project 目录中),并且.rvmrc中的脚本将会执行。

RVM建议使用ruby-version。您可以运行此命令从.rvmrc切换到.ruby-version

rvm rvmrc to .ruby-version

它的作用是创建2个文件名 .ruby-version .ruby-gemset 并添加此行

.ruby-version

中的

ruby-2.0.0-p451 .ruby-gemset中的

your_gemset

如果您愿意,可以尝试手动执行:)

答案 4 :(得分:0)

使用以下方法安装rvm:

\curl -sSL https://get.rvm.io | bash -s stable --rails

安装不同的ruby版本:

rvm install 1.8.7
rvm install 1.9.2

切换到特定的ruby版本。例如,1.8.7:

rvm use 1.8.7

创建一个gemse:

rvm gemset create project_gemset

并使用gemset:

rvm gemset use project_gemset