如何使用 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
我的 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