15

我正在尝试遵循 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 **$ 
4

4 回答 4

29

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

gem uninstall rails

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

gem install rails -v 3.1.12

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

编辑: @Shadwell 的回答是正确的,虽然它可以使用一些扩展,我会在这里做:

> rvm gemset create rails3
> rvm gemset use rails3
> gem install rails -v 3.1.12
> rails my_new_app
于 2013-06-11T20:03:25.860 回答
16

我不小心安装了 rails version4.1.7但我需要 rails version 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)包存在于我的 gems 中。我使用以下程序将其删除并修复了 rails 版本问题。

$ gem uninstall railties

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

输入2,卸载版本4.1.7

于 2014-11-15T17:01:56.240 回答
5

您似乎已经在使用 RVM。为不同的 rails 版本创建 gemset:

> rvm gemset create rails3
> rvm gemset use rails3
> bundle install

然后,您只会在该 gemset 中安装 gem。我也很想为 rails4 创建一个 gemset,而不是让不在 gemset 中的 gem 乱跑。然后在它们之间进行切换,您可以rvm gemset use随意切换。

这里有更多关于 gemset 的内容,而且在rvmrc上也值得一读,因为这样你甚至不必切换 gemset。

于 2013-06-11T20:11:12.257 回答
2

我们可以更改默认版本的 rails。
Rails 版本在 Ruby“bin”本身中定义。

安装所需的rails版本

gem install rails -v 4.2.6

在 Windows 中:

  • 转到您当前的 ruby​​ 版本 'bin' 文件夹(在我的系统中c:/RubyXX-x64/bin
  • 你会在那里找到“rails”文件
  • 使用文本编辑器打开“rails”文件,您将看到 ----- version = ">= 0" (这意味着:它会打开最高版本的 rails,它存在于您的 ruby​​ gems 中)
  • 将其替换为特定的 rails 版本 ----- version = "4.2.6"

在 Linux 中:

  • 转到 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 = ">= 0" ) 替换为 ( verion = "4.2.6" ) 您的特定安装版本。

  • 保存并检查您当前的 Rails 版本。

于 2016-09-25T01:04:00.280 回答