我使用RVM, Ruby版本管理器为我的每个Rails项目指定Ruby版本和一组gem。

我有一个.rvmrc文件,每当我cd到项目目录时,它都会自动选择Ruby版本和gemset。

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

您正在使用.rvmrc,它需要信任,它是较慢的,而且它是 与其他ruby管理器不兼容,您可以切换到 .ruby版本使用RVM RVMRC来[。或者忽略这个 RVM RVMRC警告忽略 /用户/用户名/密码/ railsapps / rails-prelaunch-signup / .rvmrc, .rvmrc将继续作为RVM 1和RVM中的默认项目文件 2、对所有文件运行RVM忽略警告RVMRC忽略警告 all.rvmrcs。

我应该继续使用我的。rvmrc文件,还是应该切换到。ruby版本的文件?哪个是最优的?后果是什么?


当前回答

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

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

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

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

rvm use 1.9.3@my-app

它可以转换为.ruby版本:

1.9.3

和.ruby-gemset:

my-app

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

rm .rvmrc

其他回答

安装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

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

rvm use 2.1.1@nancy --create

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

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

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

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

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

rvm use 1.9.3@my-app

它可以转换为.ruby版本:

1.9.3

和.ruby-gemset:

my-app

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

rm .rvmrc

快速和简单的方法从。rvmrc切换到。ruby-version + .ruby-gemset

rvm rvmrc to .ruby-version

你可以两种都试试。 转到项目的根目录,创建一个.rvmrc文件(点击.rvmrc),然后编辑 RVM使用2.0.0-p451@your_gemset(您的ruby版本和gemset名称)。 保存此文件后,您可以键入以下命令:

cd . ./your_project(你在your_project目录下),.rvmrc中的脚本将会执行。

RVM建议使用ruby版本。可以通过此命令从。rvmrc切换到。ruby-version

RVM RVMRC到。ruby版本

它所做的是创建两个文件名。ruby-version和。ruby-gemset,并添加这一行

Ruby-2.0.0-p451 .ruby版本

Your_gemset在.ruby-gemset

如果你想,你可以尝试手动操作:)