将铁轨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