我正试着追查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 **$
Run Code Online (Sandbox Code Playgroud)
再次更新
**-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 **$
Run Code Online (Sandbox Code Playgroud)
Rya*_*cox 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
Run Code Online (Sandbox Code Playgroud)
我不小心安装了rails版本4.1.7但我们的项目需要rails版本4.1.6之后我用这个命令卸载了rails:
4.1.7
然后使用以下命令安装rails版本4.1.6:
4.1.6
但是当我运行gem uninstall rails它的版本仍然是4.1.7
通过运行gem install rails -v 4.1.6我在该列表中看到存在的包名称是rails -v
在它之后我用这个命令删除它:
$ gem uninstall railties
Select gem to uninstall:
1. railties-4.1.6
2. railties-4.1.7
3. All versions
>
Run Code Online (Sandbox Code Playgroud)
我输入2和gem卸载它.在我尝试之后4.1.7我给了4.1.6
看来您已经在使用 RVM 了。为不同的 Rails 版本创建 gemset:
> rvm gemset create rails3
> rvm gemset use rails3
> bundle install
Run Code Online (Sandbox Code Playgroud)
然后您将只能获得安装在该宝石集中的宝石。我也很想为 Rails4 创建一个 gemset,而不是让不在 gemset 中的 gem 到处乱跳。然后,您可以在它们之间进行切换,无论rvm gemset use您想要切换哪一个。
这里有更多关于 gemset 的内容,也值得在rvmrc上阅读,因为这样你甚至不必切换 gemset。
| 归档时间: |
|
| 查看次数: |
25002 次 |
| 最近记录: |