将铁轨4降级到3.2

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

我已经使用了gem install rails 3.2但是Rails继续使用4.0.0.beta1。

我搜索了现有的疑虑,并尝试按照答案,但没有一个对我有用。

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


这回答了我的问题: 如何为项目设置默认rails版本?

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

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

做就是了:

gem uninstall rails

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

然后做:

gem uninstall railties

并做同样的事情。

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

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

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

 gem uninstall rails --version 4.0.0.beta1 

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

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

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

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

Rails将使用Gemfile指定的版本:

 gem "rails", "4.0.0.beta1" 

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

 gem "rails", "~> 3.2.0" 

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

我在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。

如果您有其他版本的导轨,则可以选择其他版本的导轨,您可以将其移除

 >gem uninstall rails 

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

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

 gem update rails 3.2.13