Ruby on rails 使用rvmrc或ruby版本文件设置带有RVM的项目gemset?

Ruby on rails 使用rvmrc或ruby版本文件设置带有RVM的项目gemset?,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,rvm,rvmrc,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Rvm,Rvmrc,我使用RVM为我的每个Rails项目指定一个Ruby版本和一组gem 我有一个.rvmrc文件,每当我cd进入项目目录时,它都可以自动选择Ruby版本和gemset 安装RVM 1.19.0后,我收到一条消息 您使用的是.rvmrc,它需要信任,速度较慢,而且 与其他ruby管理器不兼容,可以切换到 .ruby版本使用rvm rvmrc到[.]ruby版本或忽略此 带有rvm rvmrc警告忽略的警告 /用户/userName/code/railsapps/rails预启动注册/.rvmrc,

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

我有一个
.rvmrc
文件,每当我
cd
进入项目目录时,它都可以自动选择Ruby版本和gemset

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

您使用的是
.rvmrc
,它需要信任,速度较慢,而且 与其他ruby管理器不兼容,可以切换到
.ruby版本
使用
rvm rvmrc到[.]ruby版本
或忽略此 带有
rvm rvmrc警告忽略的警告
/用户/userName/code/railsapps/rails预启动注册/.rvmrc
.rvmrc
将继续作为RVM 1和RVM中的默认项目文件 2、要忽略所有文件的警告,请运行
rvm rvmrc warning ignore
所有.rvmrcs


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

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

如果您的唯一目标是切换Ruby版本,那么请使用其他Ruby版本切换器(如或)支持的
.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文件(
touch.rvmrc
),然后编辑
rvm使用2.0.0-p451@your_gemset
(您的ruby版本和gemset名称)。 保存此文件后,可以键入以下命令:

cd../your_project
(您在your_project目录中),将执行.rvmrc中的脚本

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

rvm-rvmrc到.ruby版本

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

ruby-2.0.0-p451
in.ruby版本

您的\u gemset
在.ruby gemset中

rvm rvmrc to .ruby-version

如果需要,您可以尝试手动执行:)

如果您想要创建
.ruby version
.ruby gemset
文件,您可以使用如下命令:

rvm use 2.1.1@nancy --create

rvm --create --ruby-version 2.1.1@nancy
使用以下工具安装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
要创建宝石,请执行以下操作:

rvm gemset create project_gemset
要使用gemset:

rvm gemset use project_gemset

请注意,并非所有应用程序都支持较新的.ruby版本和.ruby gemset文件,但仅支持.rvmrc。(特别是鲁比明)。这当然会影响您选择是否使用新系统。我已经在回答中指出了这一点,因为我花了很多时间才找到这一点。然而,由于某种原因,我的答案被删除了。是否有与此相关的“官方”文档的链接?我开始在RVM站点中研究它是如何工作的,但只是发现有一些模糊的提及,称之为新的rvmrc文件,但没有提到它应该如何工作。它没有完整的文档记录,但这里是我们已经简单地将1.9.3-p194放入的。ruby版本对我不起作用。参考上面的文档,
rvm--create--ruby版本使用1.9.3-p194
完成这项工作,其中的内容实际上是
ruby-1.9.3-p194
RubyMine的当前版本不支持.ruby版本样式。可以用6.3.2来确认,但它将[]置于周围。因为一些我还没弄明白的原因。(也许这是我不熟悉的惯例。)我实际上在谷歌上搜索了这条消息并找到了答案,因为笨拙的措辞和[]使我不确定实际运行什么。@zem
[.]ruby版本中的[]表明了这一点;方括号是表示可选性的常用约定(一般来说,不是在ruby中),因此可以使用名为“ruby版本”的文件,而不使用点,也可以使用点。如果您希望在默认情况下隐藏“点文件”的系统上更清晰地显示文件,这将非常有用。我同意这不是很清楚。它说
无法加载。rvmrc