首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何切换到旧版本的rails

如何切换到旧版本的rails
EN

Stack Overflow用户
提问于 2013-06-11 19:56:42
回答 4查看 42.5K关注 0票数 16

我正试图追随2011年写的一本旧书。

所以,随机选择了3.1.3版本,因为那是2011年11月。

如何在我的RVM中切换到那个版本?

目前有Rails 4.0.0.beta1版本..。

请不要建议把它放在Gemfile中,因为有很多其他的依赖关系会太麻烦而无法处理,因此如果我只是切换,我假设它意味着其他的依赖也会同时被处理,对吗?

更新

代码语言:javascript
复制
**-s-MacBook-Pro:agile **$ rails -v
Rails 4.0.0.beta1
**-s-MacBook-Pro:agile **$ gem install rails -v 3.1.3
Successfully installed rails-3.1.3
1 gem installed
**-s-MacBook-Pro:agile **$ rvm gemset create rails 313
gemset created rails    => /Users/**/.rvm/gems/ruby-1.9.3-p392@rails
gemset created 313  => /Users/**/.rvm/gems/ruby-1.9.3-p392@313
**-s-MacBook-Pro:agile **$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin10.8.0]
**-s-MacBook-Pro:agile **$ rvm 1.9.3p392-head@rails313
Unknown ruby interpreter version: '1.9.3p392'.
**-s-MacBook-Pro:agile **$ 

更新再次

代码语言:javascript
复制
**-s-MacBook-Pro:agile **$ rvm gemset use 313
Using ruby-1.9.3-p392 with gemset 313
**-s-MacBook-Pro:agile **$ rails -v
/Library/Ruby/Site/1.8/rubygems/dependency.rb:296:in `to_specs': Could not find 'rails'     (>= 0) among 2 total gem(s) (Gem::LoadError)
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:307:in `to_spec'
from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_gem.rb:47:in `gem'
from /usr/bin/rails:18
**-s-MacBook-Pro:agile **$ 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-11 20:03:25

首先,卸载您拥有的Rails版本:

gem uninstall rails

接下来,安装您想要的Rails版本,如下所示:

gem install rails -v 3.1.12

有几种方法可以同时“安装”。正如Joe所建议的,您可以在VM中安装Rails 4。您还可以安装RVM -- Rails管理器--并使用单独的enVironment集将两个版本的Rails分开。但是,如果你只是在学习,你可能不想为此烦恼。

编辑:@Shadwell的回答是正确的,尽管它可能需要一些扩展,我将在这里这样做:

代码语言:javascript
复制
> rvm gemset create rails3
> rvm gemset use rails3
> gem install rails -v 3.1.12
> rails my_new_app
票数 30
EN

Stack Overflow用户

发布于 2014-11-15 17:01:56

我无意中安装了rails版本的4.1.7,但我需要rails版本的4.1.6。为了解决这个问题,我使用以下命令卸载rails:

gem uninstall rails

并安装4.1.6版本:

gem install rails -v 4.1.6

但是当我运行rails -v时,它的版本仍然是4.1.7

通过运行gem list,我发现railties (4.1.7, 4.1.6)包存在于我的宝石中。我用下面的过程删除了它,并修复了rails版本问题。

代码语言:javascript
复制
$ gem uninstall railties

Select gem to uninstall:
 1. railties-4.1.6
 2. railties-4.1.7
 3. All versions
>

输入2并卸载版本4.1.7

票数 16
EN

Stack Overflow用户

发布于 2013-06-11 20:11:12

您似乎已经在使用RVM了。为不同的rails版本创建一个宝石集:

代码语言:javascript
复制
> rvm gemset create rails3
> rvm gemset use rails3
> bundle install

然后,您将只获得宝石安装在该宝石集。我也很想为rails4创建一个宝石集,而不是让宝石在不属于宝石集中的地方游走。然后,要在它们之间切换,您只需rvm gemset use任何您想要的。

关于宝石集这里还有更多的内容,在rvmrc上也值得一读,因为你甚至不需要切换宝石集。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17052629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档