234

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

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

安装 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文件?哪个是最优的?有什么后果?

4

5 回答 5

380

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

如果您的唯一目标是切换 Ruby 版本,请使用.ruby-version其他 Ruby 版本切换器(例如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
于 2013-03-29T18:15:26.593 回答
76

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

rvm rvmrc to .ruby-version
于 2013-05-28T13:25:59.587 回答
4

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

rvm use 2.1.1@nancy --create

rvm --create --ruby-version 2.1.1@nancy
于 2014-11-13T20:47:17.733 回答
3

你可以两个都试试。转到项目的根目录,创建一个.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-2.0.0-p451在 .ruby 版本中

your_gemset在 .ruby-gemset 中

如果你愿意,你可以尝试手动进行:)

于 2014-03-15T04:50:14.443 回答
-1

使用以下命令安装 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
于 2014-12-16T11:02:59.677 回答