【问题标题】:Can we install two different versions of ruby and map them to respective versions of rails on the same server?我们可以安装两个不同版本的 ruby​​ 并将它们映射到同一服务器上各自版本的 rails 吗?
【发布时间】:2012-11-15 14:55:16
【问题描述】:

我已经安装了运行良好的 Ruby 1.8.7 和 Rails 2.3.8。

现在,我需要安装 Rails 3.2.8 以安装 gem,我的目标是根据 Rails 2.3.8 的开发方式构建与 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 创建新应用程序 测试

我不确定,但我读到 Rails > 3.0 不能很好地与 Ruby 1.8.7 配合使用,需要 Ruby>1.9

【问题讨论】:

  • rvm (linux/max) 或 pik (windows) 与 bundler gem 一起使用 - 使管理依赖关系变得更加容易

标签: ruby-on-rails ruby


【解决方案1】:

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.html987654321@的发行说明的链接

编辑

您可以使用几个命令。

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 的 gem,您可以在其中安装所需的任何 gem 版本。

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

【讨论】:

  • 感谢您的回复。我能够安装 rvm 但想知道如何使用它.. rvm 如何识别现有安装以及为新版本的 rails 3.2.8 进行安装的过程是什么
【解决方案2】:

您的 ruby​​ 版本对于 rails 2 和 3 都足够好。

尝试创建如下的新应用:

rails _3.2.8_ new appname

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2018-01-05
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    相关资源
    最近更新 更多