我们可以安装两个不同版本的ruby并将它们映射到同一服务器上各自版本的rails吗?

时间:2012-11-15 14:55:16

标签: ruby-on-rails ruby

我已经安装了Ruby 1.8.7和Rails 2.3.8,它运行正常。

现在,我需要安装Rails 3.2.8才能安装gem,我的目标是根据它的开发方式构建与Rails 2.3.8相同的兼容性。

我尝试使用安装Rails 3.2.8 gem install rails -v = 3.2.8 -include-dependencies

但是当我选中 gem list rails 时,我惊讶的是,它只显示了Rails 2.3.8并且我无法使用 rails 3.2.8 <创建新的应用程序/ em>测试

我不确定,但我读过Rails&gt; 3.0与Ruby 1.8.7不兼容,需要Ruby&gt; 1.9

2 个答案:

答案 0 :(得分:4)

Rails 3.2与Ruby 1.8.7兼容。你可以做的是拥有像RVM或Rbenv这样的ruby版本管理器。我使用RVM但有些人更喜欢Rbenv,因为它不会弄乱你的shell。

使用版本管理器将允许您拥有不同版本的ruby,并且使用RVM可以为每个特定版本创建不同的gemset。

编辑以下是rails 3.2发布说明的链接http://guides.rubyonrails.org/3_2_release_notes.html

编辑

您可以使用几个命令。

rvm list

将列出您已安装的ruby版本。

要安装ruby版本,你可以使用rvm install 1.9.3之类的东西来使用rvm use 1.9.3这样的版本。您甚至可以指定补丁级别并在不同版本之间切换。

现在,rvm使用gemsets的概念,创建一个gemset,您可以使用以下命令在项目中设置.rvmrc文件

rvm --create ruby-1.9.3-p286@some-project

它将创建一组名为some-project的宝石,您可以在其中安装所需的任何宝石版本。

请注意,也可以从命令行运行命令。这将分离每个项目的所有宝石,你可以像ruby版本一样在gemsets之间切换。然后在任何gemset中你只需要运行gem install rails和版本

答案 1 :(得分:0)

你的红宝石版本对于导轨2和导轨都足够好了。 3。

尝试创建如下所示的新应用:

rails _3.2.8_ new appname