【问题标题】:How can I install Ruby on Rails 3 on OSX?如何在 OSX 上安装 Ruby on Rails 3?
【发布时间】:2010-05-26 19:46:43
【问题描述】:

我有一台白色 Macbook,我必须在 10 小时后参加会议,但我遇到了很多问题。

首先,我想拥有 Rails 3,所以我使用 MacPorts 安装 Ruby 1.8.7。它运作良好;) 然后我在想我应该安装 Rails 3,但是不,不!它说:

$ sudo gem install rails --pre

ERROR: Error installing rails:


            activesupport requires Ruby version >= 1.8.7.

我该怎么办?我已经有 1.8.7!

【问题讨论】:

  • 当。这是 Ruby/Rails 3 的一大问题。
  • 如果您对 RVM 有其他疑问,有人愿意在 freenode 上的#rvm 频道 24/7 提供帮助:webchat.freenode.net/?channels=rvm
  • @DJTripleThreat 白色笔记本电脑变得不那么热,因此软件运行得更快。你永远不知道这是否与过热问题有关。 :)
  • 他可能提到了他的白色 MacBook,以确保我们认为它不是 Pro,以防万一。 (它没有。)

标签: ruby-on-rails ruby macos ruby-on-rails-3


【解决方案1】:

首先您需要安装 RVM,然后安装最新版本的 Ruby。接下来,您将该版本的 Ruby 设置为默认版本。最后,您将安装 Rails b3。

安装 RVM (http://rvm.beginrescueend.com/rvm/install/):

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

安装最新的 Ruby (http://rvm.beginrescueend.com/rubies/installing/):

rvm install ruby-head

您可以查看您现在安装了哪些版本:

rvm list

将最新版本的 Ruby 设置为默认版本(将 'ruby-1.9.2-head' 替换为所需版本):

rvm ruby-1.9.2-head --default

确保一切都是最新的,然后安装 Rails 测试版:

gem update --system
gem install rails --pre

在安装 Rails 之前,您可能需要安装一些 gem 依赖项。

【讨论】:

  • 链接好像过期了
【解决方案2】:

要在 osx 机器上轻松设置 Rails 3,您唯一需要做的就是 follow this brilliant (as always) Railscast, here for the transcription

您还可以查看 cmets 来检查问题和最终解决方案。

【讨论】:

    【解决方案3】:

    您可能安装了两个不同版本的 Ruby。试试“gem env”或“sudo gem env”,看看你有哪个版本的 Ruby。

    如果您安装了两个,请删除旧的。如果一切都失败了,升级到 1.9.x,我相信无论如何都推荐用于 Rails 3。

    【讨论】:

    • 它确实说 1.8.6.. 我该如何摆脱它?
    • 我没有 Mac,所以我不能 100% 确定,但是如果你去它说你安装它的目录,应该有一个可以运行的卸载程序。
    • 他应该卸载 1.8.6 - 这是 Apple 内置系统的一部分,并且某些软件可能会在那里。他可以通过使用他的$PATH 变量来管理不同的红宝石。
    • 为我辩护,他问的是如何摆脱它,而不是是否应该。 XD 只是为了展示我对 Mac 的了解程度。
    【解决方案4】:

    我强烈建议使用 RVM(Ruby 版本管理器)将 Rails 3 与 Rails 2 分开。(Rails 2 与 Rails 3 冲突的一个示例:当您转到命令行生成 Rails 应用程序时,将它会生成 Rails 2 应用程序还是 Rails 3 应用程序?RVM 允许您将它们分开。)

    此外,最新的 Ruby 1.8.7 可能不适用于 Rails 3,因此您必须使用较早的补丁级别(248 适合我)。详情在这里:http://techiferous.com/2010/02/installing-rails-3-beta-with-rvm-and-ruby-1-8-7/

    【讨论】:

      【解决方案5】:

      您应该使用rvm,就像其他人所说的那样来管理 Ruby 和 Ruby gem 的多个安装。 (如果你走那条路,请花时间仔细阅读rvm's documentation。)

      但是,您还应该清楚地了解您的 shell 将哪个 Ruby 版本视为默认版本以及原因。在我看来,您的 $PATH 变量可能没有正确更新。 $PATH 变量决定了哪个 Ruby 解释器或gem 命令是第一个出现的,如果您安装了多个(就像现在一样)。默认情况下,MacPorts 会将新的二进制文件安装到/opt/local/bin,它还应该更改您的$PATH,以便/opt/local/bin/usr/bin 之前(这是Apple 开箱即用的Ruby 所在的位置)。

      我怀疑当您执行sudo gem install 时,您使用的是/usr/bin/gem(这是/usr/bin/ruby 的gem 安装程序,而不是/opt/local/bin/gem(这将是MacPort 的Ruby 的安装程序)。

      检查echo $PATHwhich rubywhich gem 的输出,看看发生了什么。

      【讨论】:

        【解决方案6】:

        你确实应该使用 rvm,但是没有人向你解释如何做到这一点没有 rvm,你去吧:

        sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \
          abstract erubis activesupport mime-types mail text-hyphen text-format   \
          thor i18n rake bundler arel railties rails --prerelease --force
        

        【讨论】:

        • rails 3 不再是预发布版
        【解决方案7】:

        根据您的问题和您对某些答案的回答,听起来您没有使用 MacPorts 版本的 Ruby。您应该确保/opt/local/bin$PATH 的前面,在/usr/bin 之前。此外,您应该通过 MacPorts (sudo port install rb-rubygems) 安装 RubyGems,并确保您使用的是 MacPorts gem。然后使用 MacPorts gem 安装 Rails。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-29
          • 2015-09-14
          • 1970-01-01
          • 2011-06-01
          • 2014-06-06
          • 1970-01-01
          • 1970-01-01
          • 2014-06-21
          相关资源
          最近更新 更多