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

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

我有一个.rvmrc文件来自动select一个Ruby版本和gemset,每当我进入一个项目目录。

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

您正在使用.rvmrc ,它需要信任,它比较慢,并且与其他rubypipe理器不兼容,您可以使用rvm rvmrc to [.]ruby-version .ruby-version rvm rvmrc to [.]ruby-version或者使用rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc此警告rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc将继续成为RVM 1和RVM 2中的默认项目文件,忽略所有运行的文件的警告rvm rvmrc warning ignore all.rvmrcs

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

如果您的.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-version

 1.9.3 

.ruby-gemset

 my-app 

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

 rm .rvmrc 

从.rvmrc切换到.ruby-version + .ruby-gemset的快捷方式

 rvm rvmrc to .ruby-version 

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

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

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

rvm rvmrc to .ruby-version

它所做的是创build2个文件名.ruby-version.ruby-gemset并添加这一行

ruby-2.0.0-p451 in .ruby-version

your_gemset在.ruby-gemset中

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

如果你想以简短的方式创build.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 

创build一个gemse:

 rvm gemset create project_gemset 

并使用gemset:

 rvm gemset use project_gemset