从Rails 3.2.6降级到3.0.11

时间:2012-08-30 15:12:59

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-1.8.7

当我尝试使用rails 3.0.11时,我遇到了问题。我最初使用rails 3.2.6。在Rails 3.2.6,Ruby 1.9.2和gem 1.8.7中构建原型应用程序。但随后发现,我们需要托管的服务器是一个共享服务器,它只能支持Rails 3.0.11,Ruby 1.8.7和gem 1.7.2。

因此,在我遇到更多问题之前,我想保持我的开发环境完全相同。正如我发现两个版本的routes.rb中存在一些差异。

我遵循的步骤:

  1. 卸载了导轨
  2. 卸载红宝石
  3. here安装红宝石。
  4. 此安装的ruby版本1.8.7-p370和gem 1.8.7
  5. 之后我通过指定版本为3.0.11
  6. 来安装rails

    但是当我运行命令rails -v时,它会向我抛出一个错误,说'缺少gem rails 3.2.6。运行bundle install以解决问题'

    当我运行bundle install时,它再次完全安装了rails 3.2.6并且问题仍未解决。

    请建议干净的方式如何在rails 3.0.11上开始我的开发而不遇到任何问题?我是否需要在我的系统中删除一些注册表或映射,通过它检测rails 3.2.6并创建问题?

    迫切需要在9月7日前完成我的开发工作。

    由于我是stackexchange的新手,请指导是否适合在相同的相关主题上提问,还是应该针对我的问题开启新的讨论?

5 个答案:

答案 0 :(得分:1)

当你改变你的rails依赖时,你应该检查也删除你的Gemfile.lock或手动'捆绑更新rails。

答案 1 :(得分:1)

@Gun - 请注意回复上面发布的一条评论 - 您需要更改Gemfile - 如果您从项目目录中运行rails -v阅读Gem文件。

脚本位于script/rails - 这是从项目目录运行rails命令时运行的脚本。请注意,此rails脚本需要您的config/application.rb文件 - 该文件又会读取Gemfile并捆绑引用的gem。因此,您的Gemfile仍然引用3.2.6,并且未安装,rails -v工作

很高兴听到问题得到解决:)

对于资产管道 - 如果您使用的是rails 3.2.6(或正在使用它),那么可能一直在使用资产管道为您的资产提供服务(javascript文件,CSS文件,图像等)。 如果你是,并且你降级到任何前导轨版本3.1,那么通过资产管道提供的任何内容将不再有效。

以下是资产管道的非常好的描述:http://guides.rubyonrails.org/asset_pipeline.html

答案 2 :(得分:0)

我建议使用rbenv或rvm创建一个虚拟环境/沙箱,您可以在其中安装首选的ruby版本(例如1.8.7)并分别跟踪您的依赖项。这将为您节省很多精力。

请记住,rails 3.0没有资产管道支持(它已包含在rails 3.1中)!这是一个非常重要的区别,如果您依赖它,那么降级将会遇到很大的问题。

答案 3 :(得分:0)

非常感谢大家的帮助。

我认为这是一个奇怪的问题。我在系统上有heroku。我最初在我的应用程序上部署我的应用程序,然后更改为另一个托管服务器。 卸载heroku后,它完全正常。可能是,这在某个地方干扰了。虽然,不确定,但问题得到解决。

再次感谢你们的帮助!

与此同时,我会要求alup更多地关注资产管道支持。那是什么?你能解释一下吗?

答案 4 :(得分:0)

需要从桌面删除C:\ Users \ .ror文件夹和C:\ Users \ .gemfile以及C:\ Users \ .gemfile.lock ..