【问题标题】:Fresh Rails install on Mac OS X gives me "Rails requires RubyGems >= 1.3.2"在 Mac OS X 上安装新的 Rails 给了我“Rails 需要 RubyGems >= 1.3.2”
【发布时间】:2009-11-17 21:03:51
【问题描述】:

我刚刚为 Rails 设置了一个全新的 Mac OS X 10.5 环境。我安装了 Ruby 1.8.7,在 /usr/bin 中重命名了 Ruby 的打包版本,并将 RubyGems 的打包版本从 1.0.1 更新为 1.3.4。流程如下:

$导轨-v 导轨 2.3.4 $宝石-v 1.3.4 $ 哪个宝石 /usr/bin/gem $哪里是宝石 /usr/bin/gem $哪个轨道 /usr/bin/rails $ whereis 轨道 /usr/bin/rails $ /usr/bin/gem -v 1.3.4 $ /usr/bin/rails -v 导轨 2.3.4 $ 轨道测试应用程序 ... ... testapp $脚本/控制台 Rails 需要 RubyGems >= 1.3.2。请安装 RubyGems 并重试:http://rubygems.rubyforge.org

问题是我已经更新了 RubyGems 并且没有安装它的另一个版本。不过,gem list rails 显示了两个版本的 Rails(2.3.4 和 1.2.6)。

如何解决这个问题,以便我可以使用 Rails?

【问题讨论】:

  • 只是好奇,当你做你所有的 gem 东西时使用'sudo gem ...'。我注意到这确实会影响某些系统上的东西。我自己在 Mac 上,并尝试确保任何 gem 的东西总是通过 sudo 完成。

标签: ruby-on-rails macos


【解决方案1】:

一个建议是不要更改系统版本,而是安装在 /usr/local 或使用 MacPorts。

HiveLogic cover Rails 的人,以及 MySQL 和其他开发工具。

使用这些技术,我已成功将 rails 安装到 /usr/local 然后通过 (export PATH=/usr/local/bin:$PATH) 调整终端 shell 中的路径设置很简单

【讨论】:

    【解决方案2】:

    你试过了吗:

    sudo gem update --system
    

    这应该会为您提供最新版本的 ruby​​gems,类似于 1.3.5。

    【讨论】:

      【解决方案3】:

      如果加载不兼容的版本,Rails 会告诉您您拥有的 RubyGems 版本。您收到的错误消息意味着它根本无法加载 RubyGems,所以我认为这是路径问题。

      你从 irb 的$: 得到什么?这些位置是否有rubygems.rb

      【讨论】:

      • 我没看到;我怎样才能解决这个问题?我不明白为什么当我刚刚在 Mac OSX 上升级现有的 RubyGems 安装时它不存在 - 它不是已经设置了吗?
      • 我想我看到了问题,但我不确定。运行 gem 环境显示我的 Ruby 版本为 1.8.6,但我安装了 1.8.7。我认为因为我只安装了新版本的 Ruby,但保留并更新了原始版本的 gems,所以那里发生了一些奇怪的事情。
      • 仅供参考,我保留了默认的 ruby​​gems 安装,因为我在尝试安装需要默认 gem 位置的东西时遇到了一些问题;我是命令行新手:(
      【解决方案4】:

      使用 Macports 让您的生活更轻松,而不是尝试更新和替换核心系统库。 :-)

      【讨论】:

        【解决方案5】:

        我支持这种情绪,如果可以的话,我会投票赞成 prodigitalson 的答案——MacPorts 是你的朋友......建议你专门运行:

        $ sudo port install ruby​​gem

        $ gem install rails

        关键是使您的 which ruby 和您的 ruby​​gems which gem 同步。和和谐...两者都应该在 /opt/local/bin/

        所以 Ruby on Rails 2.3.8 在我的 MacOS 10.5.8 上运行 - 在 MacPorts 安装并报告正确版本 1.8.7 之后,gem environment 不再存在。

        $ gem environment
        RubyGems Environment:
          - RUBYGEMS VERSION: 1.3.4
          - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9]
          - INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
          - RUBY EXECUTABLE: /opt/local/bin/ruby
          - EXECUTABLE DIRECTORY: /opt/local/bin
          - RUBYGEMS PLATFORMS:
            - ruby
            - x86-darwin-9
          - GEM PATHS:
             - /opt/local/lib/ruby/gems/1.8
             - /Users/saleram/.gem/ruby/1.8
          - GEM CONFIGURATION:
             - :update_sources => true
             - :verbose => true
             - :benchmark => false
             - :backtrace => false
             - :bulk_threshold => 1000
          - REMOTE SOURCES:
             - http://gems.rubyforge.org/
        

        【讨论】:

          【解决方案6】:

          虽然这个问题相当陈旧,而且 cmets 陈旧,但当前的搜索者可能会发现这些说明:

          Installing Rails on Mac OS X 10.6 (SL)

          在新的 OS X 10.6 安装上安装 Ruby / Rails 3 工作正常,前提是您安装了最新版本的 RubyGems:

          http://rubyforge.org/frs/?group_id=126

          ...特别是,这样做代替输入

          sudo update_rubygems
          

          在我的第一个链接中

          【讨论】:

            【解决方案7】:

            遇到了同样的问题,下面是我解决的方法:

            首先,更新 gem

            gem update --system
            

            导航到gem env 中的主路径,在我的例子中是 /Library/Ruby/Gems/1.8

            cd /Library/Ruby/Gems/1.8 
            

            然后,导航到 gem 本身:

            cd gems/rubygems-update-1.3.5
            

            运行 setup.rb

            sudo setup.rb
            

            就是这样。

            【讨论】:

              【解决方案8】:

              您是否考虑过BitNami Rubystack 作为替代方案?它是一个免费的安装程序,提供了一个开箱即用的 Rails 环境和 MySQL(以及一堆预配置的、常用的第三方库和应用程序)。请注意,我是 RubyStack 的贡献者之一,所以我有偏见。它是免费的,在 Apache 2.0 开源许可下分发

              【讨论】:

              • 您应该在每次提及您的产品时披露您与该公司的隶属关系。否则在这里被视为垃圾邮件。
              • 我在大多数其他问题中都这样做了,并且在我的个人资料中也明确说明了这一点。 BitNami 不是一家公司,我们不通过堆栈赚钱(尽管它是由一个赞助的,我们为其他一些开源公司提供支持和服务,例如 Sugar、Alfresco 等)。无论如何,我现在已经更新了我的回复。另外,我认为没有必要对答案投反对票,因为它与主题直接相关。
              • 我没有投反对票。垃圾邮件标志就是这样工作的。现在您更新了答案,它会在一段时间后消失。但是请注意,您确实应该在每个答案中指定您的从属关系,仅仅在您的个人资料中是不够的,因此您应该检查所有推荐​​您产品的答案是否包含免责声明
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2010-10-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-04-14
              相关资源
              最近更新 更多