如果我使用不同版本的Rails继续输入 gem install rails
会怎样?
例如,我可以输入:
gem install rails --verson 3.2.10
或
gem install rails
这给了我3.2.12版。
每个安装都会覆盖前一个安装吗?
是否会删除所有旧文件并添加我正在安装的新版本?
或者,如果我运行两次,它会保留一些文件吗?
我正在使用Ubuntu。
答案 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 answer,gem
将分别安装每个版本的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