如何切换到较旧版本的rails
我正试着追查2011年写的一本旧书。
因此,从2011年11月开始随机挑选3.1.3版本。
如何在RVM中切换到该版本?
目前有Rails 4.0.0.beta1
版本……
请不要建议将它放在Gemfile中,因为有很多其他依赖项处理起来太麻烦了,因此如果我只是切换,我假设它意味着其他依赖项将被处理同时也是,对吧?
UPDATE
**-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 **$
再次更新
**-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 **$
首先,卸载您拥有的Rails版本:
gem uninstall rails
接下来,安装所需的Rails版本,如下所示:
gem install rails -v 3.1.12
有几种方法可以同时“安装”。 正如Joe Frambach建议的那样,您可以在VM中安装Rails 4。 您还可以安装RVM (Ruby enVironment Manager)并使用单独的gemsets来保持Rails的两个版本。 但如果你只是在学习,你可能不想打扰这个。
编辑: @ Shadwell的答案是正确的,虽然它可以使用一些扩展,我将在这里做:
> rvm gemset create rails3 > rvm gemset use rails3 > gem install rails -v 3.1.12 > rails my_new_app
我不小心安装了rails版本4.1.7,但是在我用这个命令卸载rails之后我们的项目需要rails版本4.1.6:
gem uninstall rails
然后使用以下命令安装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)
之后我用这个命令删除它:
# gem uninstall railties Select gem to uninstall: 1. railties-4.1.6 2. railties-4.1.7 3. All versions >
我输入2和gem卸载它。 在我尝试使用rails -v
我给了4.1.6
你似乎已经在使用RVM了。 为不同的rails版本创建gemset:
> rvm gemset create rails3 > rvm gemset use rails3 > bundle install
然后,您将只获得该gemset中安装的gem。 我也很想为rails4创建一个gemset,而不是让gem周围没有gem。 然后在它们之间切换你只需要rvm gemset use
你想要的任何一个。
这里有更多关于gemset的东西 ,它也值得在rvmrc上阅读,因为那时你甚至不需要切换gemsets。
我们可以更改我们的默认版本的rails。
Rails版本在Ruby“bin”本身中定义。
安装所需的rails版本
gem install rails -v 4.2.6
和
在Windows中:
- 转到你当前的ruby版’bin’文件夹(在我的系统c:/ RubyXX-x64 / bin中 )
- 你会在那里找到“rails”文件
- 用文本编辑器打开“rails”文件,你会看到—– version =“> = 0” (这意味着:它打开了ruby gems中存在的最高版本的rails)
- 用特定的导轨版本替换它—– version =“4.2.6”
在Linux中:
- goto ruby lib文件夹(在我的系统中— /。rvm / gems / ruby-2.3.1 / bin)
$捆绑
(给出找到你的捆绑器执行的ruby的路径(— /。rvm / gems / ruby-2.3.1 / bin / bundler))
- 使用文本编辑器编辑“rails”文件
dathu @ ubuntu:〜/ .rvm / gems / ruby-2.3.1 / bin $ sudo subl rails
-
用(verion =“4.2.6”)替换(verion =“> = 0”)您的特定安装版本。
-
保存并检查当前的rails版本。