安装多个版本的Rails会覆盖以前的安装吗?

时间:2013-03-03 08:41:12

标签: ruby-on-rails ruby gem

如果我使用不同版本的Rails继续输入 gem install rails 会怎样?

例如,我可以输入:

gem install rails --verson 3.2.10

gem install rails

这给了我3.2.12版。

问题

  1. 每个安装都会覆盖前一个安装吗?

  2. 是否会删除所有旧文件并添加我正在安装的新版本?

  3. 或者,如果我运行两次,它会保留一些文件吗?

  4. 我正在使用Ubuntu。

2 个答案:

答案 0 :(得分:9)

它将安装两个独立的宝石。实际的可执行文件rails将调用最新版本。

您可以使用

覆盖它
<gem_command> _<version>_

例如,

rails _3.2.10_

将执行Rails 3.2.10。

捆扎机

顺便说一句,如果我们专门讨论Ruby on Rails,那么您应用中使用的gem将由Bundler控制。 Bundler查看应用根目录中的Gemfile,然后确定要自行下载,安装和使用所有版本的版本。

如果您是初学者,那么此时您不必担心所有这些问题。 <{1}},gem install rails就是您所需要的。

答案 1 :(得分:1)

根据enthrops's answergem将分别安装每个版本的Rails,以便它们不会相互覆盖:

  

它将安装两个独立的宝石。实际的可执行文件rails将调用最新版本。

如果您使用rbenv来管理Ruby安装,那么您可以在表单的路径中找到每个Rails安装的目录

~/.rbenv/versions/<rubyVersion>/lib/ruby/gems/<rubyVersion>/gems/rails-<version>

例如,在我的机器上,我安装了以下版本的Rails:

$ ls -l ~/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/gems/ | \
$ grep --extended-regexp "(\s)rails-"
drwxr-xr-x  4 foobar staff  136 May 13 19:07 rails-4.0.0
drwxr-xr-x  4 foobar staff  136 May 13 18:41 rails-4.0.5
drwxr-xr-x  4 foobar staff  136 Apr 19 21:27 rails-4.1.0