将 Rails 4 降级到 3.2

Posted

技术标签:

【中文标题】将 Rails 4 降级到 3.2【英文标题】:downgrading rails 4 to 3.2 【发布时间】:2013-04-22 16:30:32 【问题描述】:

我安装了 Rails 4.0.0.beta1,但我需要降级到 Rails 3.2.13。

我使用过gem install rails 3.2,但 Rails 继续使用 4.0.0.beta1。

我搜索了现有的疑问并尝试遵循答案,但没有一个对我有用。

认为这是一个简单的疑问,我需要解决。


这回答了我的问题:How to set default rails version for a project?

【问题讨论】:

尝试更改 Gemfile 中的 gem,然后运行 ​​bundle install 你看这里了吗:***.com/questions/16122781/…?问题可能重复。 你可以在你的 gemfile 中添加 Rails 的那一行吗? 【参考方案1】:

在您的控制台中尝试以下操作。它会将rails更新或安装到指定的版本。

gem update rails 3.2.13

【讨论】:

【参考方案2】:

除非您使用 bundle exec,否则 Rubygems 将始终使用最新安装的 gem 版本。你需要卸载你不想要的版本。

gem uninstall rails --version 4.0.0.beta1

【讨论】:

这可行,但是当我运行rails -v Rails 4.0.0.beta1 时坚持出现。我尝试包括卸载所有版本,在运行gem install rails -v=3.2.13 后也显示成功消息,但表示已安装 Rails 4.0.0.beta1 这很奇怪,因为在此过程之后,当我尝试卸载 rails 时,它只显示版本 3.2.13... 使用捆绑器可能是通向理智的途径。 :)【参考方案3】:

gem uninstall rails --version xxx 的答案应该可以很好地移除 rails gem。

但是,如果您希望或需要同时使用多个版本的 rails,您可以使用 bundler 加载正确版本的 gems(如预期的那样)。

$ bundle exec rails 在项目目录中列出 Gemfile 中的 rails 版本应该可以让您加载所需的 gem 而不会发生冲突。

此外,rvm 及其 gemset 功能还可以让您实现相同的目标,而无需使用 bundle exec 包装所有内容

【讨论】:

【参考方案4】:

Rails 将使用Gemfile 中指定的版本:

gem "rails", "4.0.0.beta1"

将其替换为您要使用的版本:

gem "rails", "~> 3.2.0"

当然,您还需要更改代码和配置以使用旧的 Rails API。

【讨论】:

【参考方案5】:

您遇到的问题与列出的here 相同。

这对我有用,也应该对你有用。这是一个更通用的解决方案,无论您的 Rails beta 版本如何,它都可以正常工作。请注意,为了切换回 3.2.13(或您想返回的任何版本),您必须删除 Railties 以及 Rails。

只要做:

gem uninstall rails

然后,选择您拥有的 Rails 4 版本并将其删除。

然后,做:

gem uninstall railties

然后做同样的事情。

当我卸载 Rails 的 Rails 4 版本时,它告诉我不会满足几个 gem(coffee-rails 和 sass-rails)的依赖关系。所以我只是对他们两个做了同样的事情,就像我上面做的那样,并删除了他们的 Rails 4 版本(例如,对于 sass-rails,我安装了一个名为 sass-rails-4.0.0.rc1 的版本)。

完成了!终端应将 3.2.13 列为您当前的 Rails 版本。

【讨论】:

【参考方案6】:

我在使用 Rails 4.0.0 最终版本时遇到了同样的问题。要检查当前安装的内容,您可以运行以下命令:

>pik gem list

然后我检查了 rails 版本。它显示了带有 railties 4.0.0、4.0.0.rc2 和 3.2.14 的 rails 3.2.14(我想要的)。

然后我跑了

>gem uninstall railties

并卸载了除 3.2.14 之外的所有其他版本,现在它运行良好。问题是当调用 Rails 3.2 安装时,安装的是最新(或所有)版本的 railties。

如果您有其他版本的 rails 不是您想要的,您可以删除它们

>gem uninstall rails

并删除您不想拥有的 Rails 版本。

【讨论】:

以上是关于将 Rails 4 降级到 3.2的主要内容,如果未能解决你的问题,请参考以下文章

如何降级捆绑器或升级导轨?

如何从 Ruby 1.9.2 降级到 Ruby 1.8.7 以运行 Rails 2.0.2

如何从 Python 3.2 降级到 2.7?

Sentinel从入门到应用

检测到包降级:Microsoft.NETCore.Platforms从1.1.1降级到1.1.0。直接从项目引用报以选择不同版本 System.IO.Compression.ZipFile 4.3.0

将 Xcode 5 降级到 Xcode 4.6.1