0

我在尝试使用 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. 从这里安装 ruby​​ 。
  4. 这安装了 ruby​​ 版本 1.8.7-p370 和 gem 1.8.7
  5. 在此之后,我通过将版本指定为 3.0.11 来安装 rails

但是当我运行命令 rails -v 时,它仍然会向我抛出一个错误,说“缺少 gem rails 3.2.6。运行捆绑安装以解决问题'

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

请建议我如何在 Rails 3.0.11 上开始我的开发而不遇到任何问题?我是否需要删除系统中用于检测 rails 3.2.6 并产生问题的一些注册表或映射?

它很紧迫,因为我需要在 9 月 7 日之前完成我的开发。

由于我是stackexchange的新手,请指导在同一个相关线程上提问是否合适,或者我应该为我的问题打开新的讨论吗?

4

5 回答 5

1

当您更改您的 rails 依赖项时,您还应该检查删除您的 Gemfile.lock 或手动“捆绑更新 rails”。

于 2012-08-30T16:06:46.910 回答
1

@Gun - 请注意回应您在上面发布的评论之一 - 您确实需要更改您的 Gemfile - 如果您rails -v从项目目录运行,它将读取Gemfile。

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

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

至于资产管道 - 如果您使用的是 rails 3.2.6(或正在使用它),那么您可能一直在使用资产管道来服务您的资产(javascript 文件、CSS 文件、图像等)。如果你是,并且你降级到任何之前的 Rails 版本 3.1,那么通过资产管道提供的任何东西都将不再工作。

这是资产管道的一个很好的描述:http: //guides.rubyonrails.org/asset_pipeline.html

于 2012-08-30T19:54:45.140 回答
0

非常感谢大家的帮助。

我相信这是一个奇怪的问题。我在系统上有heroku。我最初将我的应用程序部署在同一台服务器上,然后更改为另一台托管服务器。卸载heroku后,它工作得很好。可能,那是在某个地方干扰。虽然不确定,但问题已解决。

再次非常感谢您的大力帮助!!!

同时,我会要求 alup 进一步说明资产管道支持。是吗?你能解释更多吗?

于 2012-08-30T17:45:19.973 回答
0

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

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

于 2012-08-30T17:10:02.423 回答
0

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

于 2012-08-30T19:00:12.653 回答