我正在尝试按照2011年写的旧书。
因此,自2011年11月起随机挑选3.1.3版本。
如何在RVM中切换到该版本?
目前有Rails 4.0.0.beta1
版本...
请不要建议将它放在Gemfile中,因为有很多其他依赖项处理起来太麻烦,因此如果我只是切换,我假设它意味着将采取其他依赖项同时照顾,对吧?
更新
**-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 **$
答案 0 :(得分:24)
首先,卸载您拥有的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
答案 1 :(得分:7)
我不小心安装了rails 4.1.7版本,但我们的项目需要rails版本4.1.6 之后我用这个命令卸载了rails:
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
答案 2 :(得分:3)
你似乎已经在使用RVM了。为不同的rails版本创建gemset:
> rvm gemset create rails3
> rvm gemset use rails3
> bundle install
然后,您将只获得该gemset中安装的宝石。我也很想为rails4创建一个gemset,而不是让宝石周围没有宝石。然后在他们之间切换你只需rvm gemset use
你想要的任何一个。
答案 3 :(得分:1)
我们可以更改我们的默认版本的rails 在Ruby" bin"中定义的Rails版本本身。
按
安装所需的rails版本gem install rails -v 4.2.6
和
$捆绑
(给出找到你的捆绑器执行的红宝石的路径(--- /。rvm / gems / ruby-2.3.1 / bin / bundler))
dathu @ ubuntu:〜/ .rvm / gems / ruby-2.3.1 / bin $ sudo subl rails
用您的特定安装版本替换(verion ="> = 0")(verion =" 4.2.6")。
保存并检查当前的rails版本。