将铁轨4降级到3.2

时间:2013-04-29 04:47:02

标签: ruby-on-rails downgrade

我安装了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?

6 个答案:

答案 0 :(得分:8)

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

这对我有用,也应该对你有用。这是一个更通用的解决方案,无论您的特定版本的Rails beta如何都可以使用。请注意,为了转回3.2.13(或您想要返回的任何版本),您必须删除Railties和Rails。

只是做:

gem uninstall rails

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

然后,做:

gem uninstall railties

并做同样的事情。

当我卸载Rails 4版本的铁路时,它告诉我,不能满足几个宝石(咖啡轨和sass-rails)的依赖关系。所以我就像上面那样对它们做了同样的事情,并且删除了它们的Rails 4版本(例如,对于sass-rails,我安装了一个名为sass-rails-4.0.0.rc1的版本)。

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

答案 1 :(得分:0)

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

gem update rails 3.2.13

答案 2 :(得分:0)

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

gem uninstall rails --version 4.0.0.beta1

答案 3 :(得分:0)

gem uninstall rails --version xxx的答案应该删除rails gem。

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

项目目录中的

$ bundle exec rails列出了Gemfile中的rails版本,可以让你加载所需的gem而不会发生冲突。

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

包装所有内容

答案 4 :(得分:0)

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

gem "rails", "4.0.0.beta1"

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

gem "rails", "~> 3.2.0"

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

答案 5 :(得分:0)

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

>pik gem list

然后我检查了rails版本。它显示了轨道3.2.14(我想要的)与轨道4.0.0,4.0.0.rc2和3.2.14。

然后我跑了

>gem uninstall railties

并卸载除3.2.14以外的所有其他版本,现在效果很好。问题是当调用Rails 3.2安装时,会安装最新(或所有)版本的railties。

如果您有其他版本的rails,则可以使用

删除它们
>gem uninstall rails

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