【问题标题】:How do I upgrade a rails 3.2 app from ruby 1.9.3 to ruby 2.1.5 using rvm如何使用 rvm 将 rails 3.2 应用程序从 ruby​​ 1.9.3 升级到 ruby​​ 2.1.5
【发布时间】:2015-04-08 03:20:18
【问题描述】:

我的 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,这可能意味着我应该重新编译 gem,我认为安全的方法可能是:

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

【问题讨论】:

  • 这就是 gemsets 的全部目的,所以你可以将 ruby​​ 和/或 rails 版本与你的项目分开,你可以运行 rvm 2.1.3@new_foogems 在创建新的 gemset 之后,你还必须改变你的 ruby版本在您的 Gemfile 中并注意潜在的错误,不要忘记在开发而不是生产中进行更改!!!
  • 您可以使用 rvm use 2.1.5@current_foogems --create 之类的东西,然后使用 rvm use 2.1.5@current_foogems 将其设置为当前 gemset,然后在该 gemset 中捆绑安装

标签: ruby-on-rails rvm gemset


【解决方案1】:

@Santiago 和 @Milind 的每个 cmets,答案是

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

2) 离开目录 (cd ..)

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

4) 说“是”以提醒 .rvmrc 文件已更改

RVM 将创建新的空白 gemset。

5) 运行rvm install 2.1.5

6) 运行bundle install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多