如何使用 rvm 将 rails 3.2 应用程序从 ruby 1.9.3 升级到 ruby 2.1.5

How do I upgrade a rails 3.2 app from ruby 1.9.3 to ruby 2.1.5 using rvm

我的 Rails 3.2 / Ruby 1.9.3 应用正在使用 RVM。我想升级到使用 ruby 2.1.5.

我也使用 RVM 安装 Ruby 2.1.5。所以 rvm list 显示 1.9.3 和 2.1.5

我的项目目录有一个 .rvmrc 文件指定

environment_id="ruby-1.9.3-p551@current_foogems"

所以我有一个名为 current_foogems

的 gemset

如何切换我的项目以使用 ruby 2.1.5?

我要复制 gemset 吗?创建一个新的(空的)gemset?

考虑到 ruby 版本从 1.9.3 跳到 2.1.5,这可能意味着我应该重新编译 gems,我认为安全的方法可能是:

i) create a new blank gemset 'new_foogems'
ii) edit the .rvmrc file to use "ruby-2.1.5@new_foogems"
iii) run bundle install to re-create all-new gems in the new gemset

根据@Santiago 和@Milind 的评论,答案是

1) 编辑 .rvmrc 文件并给 environment_id 一个新值,例如 '= ruby-2.1.5@new_foogems 并且编辑 Gemfile 以指定 ruby "2.1.5"

2) 离开目录(cd ..)

3) 返回目录(重新加载 .rvmrc)

4) 说 "yes" 提醒 .rvmrc 文件已更改

RVM 将创建新的空白 gemset。

5) 运行 rvm install 2.1.5

6) 运行 bundle install