【问题标题】:Downgrading a Rails 3 App to Rails 2将 Rails 3 应用程序降级到 Rails 2
【发布时间】:2012-08-06 21:15:05
【问题描述】:

我今天遇到了一个问题。在过去的几个月里,我一直在构建一个相当密集的 Rails 3 应用程序,它使用了我需要的所有 gem 的所有最新版本。我刚刚被告知我不能使用任何新的东西。我将把我的项目添加到其他使用旧版本的项目中。我们不能升级现有的,我们只能降级我的。

话虽如此,我需要降级我所做的几乎所有事情。这是我目前使用的列表(通过gem list):

actionmailer (3.2.6)
动作包 (3.2.6)
活动模型 (3.2.6)
活动记录 (3.2.6)
活动资​​源 (3.2.6)
主动支持 (3.2.6)
阿雷尔 (3.0.2)
awesome_print (1.0.2)
生成器 (3.0.0)
捆绑器 (1.1.4)
慢性 (0.6.7)
咖啡轨 (3.2.2)
咖啡脚本 (2.2.0)
咖啡脚本源 (1.3.3)
erubis (2.7.0)
execjs (1.4.0)
混帐 (1.2.5)
远足 (1.2.1)
i18n (0.6.0)
珠宝商 (1.8.4)
旅程 (1.0.4)
jquery-rails (2.0.2)
json (1.7.3)
libv8 (3.3.10.4 x86_64-linux)
libxml-ruby (2.3.3)
邮件 (2.4.4)
哑剧类型 (1.19)
multi_json (1.3.6)
nokogiri (1.5.5)
多语言 (0.3.3)
机架 (1.4.1)
机架缓存 (1.2)
机架 SSL (1.3.2)
机架测试 (0.6.1)
导轨 (3.2.6)
railties (3.2.6)
耙子 (0.9.2.2)
rdoc (3.12)
roxml (3.3.1)
rubygems 捆绑器 (1.0.3)
rvm (1.11.3.4)
萨斯 (3.1.20, 3.1.19)
sass-rails (3.2.5)
链轮 (2.1.3)
sqlite3 (1.3.6)
therubyracer (0.10.1)
雷神 (0.15.4)
倾斜 (1.3.3)
树顶 (1.4.10)
tzinfo (0.3.33)
丑陋者 (1.2.6)
每当 (0.7.3)

这是我被允许使用的版本(对于某些宝石);

主动支持 (1.0.7)
活动记录 (2.3.2)
actionmailer (2.3.2)
活动资​​源 (2.3.2)
动作包 (2.3.2)
导轨 (2.3.2)
耙子 (0.8.4)
sqlite3 (1.2.1)
红宝石 (1.3.1)
nokogiri (1.5.0)

如您所知,我有一些工作要做。我什至不确定我是否使用了第一个列表中的每一个宝石。事实上,我很确定我不是。所以我想第 1 步是删除我实际上没有使用的所有宝石。

一旦我这样做了,完成这项任务的最快/最简单/最好/最有效的方法是什么?

谢谢!

【问题讨论】:

  • 作为开发人员,您应该对每次更改都使用某种 scm,那么您的问题到底是什么?
  • @rubiii:我从头开始创建了一个 Rails 3 应用程序。我没有从任何东西的旧版本开始。我的 Rails 3 应用程序无法在我想要的设备上运行,因为该设备需要所有旧版本的所有内容。我无法更改设备,我必须更改我的应用程序。如何下放/降级我的应用程序,以便它在旧东西上运行。我需要我的 Rails 3 应用程序成为 Rails 2 应用程序,一切都需要随之而来。

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-2 rails-3-upgrade


【解决方案1】:

我认为最简单的做法是创建一个新的 Rails 2.3.2 应用程序,然后从头开始构建它,但复制逻辑和模板并在需要时安装 Rails 2 版本的 gems,并重写部分取决于较新的 gem 或语法。

真正的问题是,为什么不能按原样部署 Rails 3 应用程序?使用 RVM、Rbenv 和 Bundler,您应该没有理由不能在同一台服务器上部署不同版本的 Rails(如果这甚至是问题所在)。

【讨论】:

  • 是的,我最初想使用 RVM,但由于各种原因,使用任何东西的升级版本根本不合理。您认为不可能只在 GemFile 中指定正确的版本并重新捆绑吗?我希望不必重新做我的整个项目哈哈。
  • @XMLSlayer 各种原因是什么?您可以尝试生成一个新应用程序,然后替换应用程序和公用文件夹,翻译路线,并解决由此产生的错误(或测试失败,如果您编写它们),直到一切恢复正常。不管你怎么切,都会很痛苦。
  • 我认为这将是我最好的选择。只需要替换app目录(我没有公开修改任何东西),更改routes.rb,然后看看弹出什么错误。你知道有什么好的 Rails2 文档吗?
  • @XMLSlayer railsapi.com/doc/rails-v2.3.8 (2.3.8 与 railsapi.com 最接近。还有一个 2.2.2 选项 railsapi.com/doc/rails-v2.2.2
  • 这就是我最终要做的。完全痛苦,但成功。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 2019-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多