【问题标题】:How to update Ruby to 1.9.x on Mac?如何在 Mac 上将 Ruby 更新到 1.9.x?
【发布时间】:2011-04-11 10:14:44
【问题描述】:

我在我的 Mac 上创建了一个新的用户帐户,我正在尝试从雪豹默认的 1.8.7 更新到当前版本的 ruby​​ (1.9.2)。有人可以指点我教程或解释将我的 Mac 上的 Ruby 从 1.8 更新到 1.9.2 的最佳方法吗?谢谢

【问题讨论】:

    标签: ruby macos installation


    【解决方案1】:

    正如 The Tin Man 建议的那样(上图)RVMRuby 版本管理器)是升级的标准你在 OSX 上的 Ruby 安装:https://rvm.io

    要开始,请打开一个终端窗口并发出以下命令:

    \curl -L https://get.rvm.io | bash -s stable --ruby
    

    (您需要信任 RVM 开发团队该命令不是恶意的 - 如果您像我一样是偏执企鹅 ,您可以随时阅读来源https://github.com/wayneeseguin/rvm)完成后,您需要重新启动终端才能使rvm命令正常工作。

    rvm list known
    

    (向您展示 Ruby 的最新可用版本

    rvm install ruby-2.3.1
    

    对于特定版本,后跟

    rvm use ruby-2.3.1
    

    如果您只想要最新(当前)版本:

    rvm install current && rvm use current
    

    (安装当前稳定版本 - 在编写 ruby​​-2.3.1 时 - 请在新版本发布时更新此 wiki)

    编译 Ruby 的注意事项:在我的情况下,我还必须安装 Homebrew http://mxcl.github.com/homebrew/ 来获得我需要的 gems (@987654324 @) 这反过来会强制您安装 Xcode(如果您还没有安装)https://itunes.apple.com/us/app/xcode/id497799835 AND/OR 从:https://github.com/kennethreitz/osx-gcc-installer 安装 GCC 包以避免错误运行“make”。

    编辑:Mavericks 开始,您可以选择仅安装 Xcode 命令行工具而不是整个 Xcode 包,后者附带 gcc 和许多其他您需要的东西可能需要构建软件包。可以通过运行xcode-select --install 并按照屏幕提示进行安装。

    错误提示:如果您在尝试此命令时收到错误“RVM 不是函数”, 访问:How do I change my Ruby version using RVM? 获取解决方案。

    【讨论】:

    • 在 Mountain Lion 上设置所有这些需要很大的耐心。如果您遇到错误“运行 'env GEM_PATH=/Users/...”的错误,这不是您的路径,您将在日志中看到它是 openssl(可能已安装)在 RVM 中被破坏,它们提供了一个处理它的页面rvm.io/packages/openssl
    • 我真的很讨厌 Ruby 的混乱。这是一片混乱。然而,这个答案让我走上了正确的道路,非常感谢!
    • 在导致我遇到其他问题的帖子之间徘徊,我发现这篇文章很有帮助,因为它解释了如何使用 RVM,而不仅仅是使用它。
    【解决方案2】:

    我会强烈建议rvm

    这是在不与系统版本冲突的情况下管理多个红宝石和宝石集的好方法。


    现在(2013 年 4 月 2 日)我要补充一点,我经常使用 rbenv,因为我的需求很简单。 RVM 很棒,但它有很多我从来不需要的功能,所以我在一些机器上拥有它,在我的台式机和笔记本电脑上拥有 rbenv。两者都值得一试,看看哪个最适合您的需求。

    【讨论】:

    • 同意。即使多个版本不是问题(哈!)rvm 也非常适合找出缺少哪些本机库。几乎是不可或缺的。
    【解决方案3】:

    使用 brew 这是一个单行:

    (假设你已经点击了 homebrew/versions,这可以通过运行 brew tap homebrew/versions 来完成)

    brew install ruby193
    

    在 OS X 10.8.4 上为我开箱即用。或者如果你想要 2.0,你只需 brew install ruby

    更一般地说,brew search ruby 向您展示了可用的不同存储库,如果您想获得真正具体的信息,您可以使用 brew versions ruby 并检查特定版本。

    【讨论】:

    【解决方案4】:

    我知道这是一篇较旧的帖子,但我想添加一些关于此的额外信息。 首先,我认为rvm 做得很好但是它没有从我的系统(MAC OS Yosemite)更新 ruby​​。

    rvm正在做什么:安装到另一个位置并在那里设置我的环境变量的路径......我有点无聊,因为我的系统上现在有两个 ruby​​。

    为了解决这个问题,我卸载了 rvm,然后使用可用的 Homebrew 包管理器 here 并通过执行 brew install ruby 安装了 ruby​​ throw 终端命令。

    然后,一切都运行良好! 我系统中的红宝石已更新! 希望对以后的冒险者有所帮助!

    【讨论】:

    • 我一直在努力决定应该使用rvm 还是brew。这有帮助。谢谢
    • 不是 brew 也做同样的事情吗?
    【解决方案5】:

    我在这里不同意 The Tin Man。我认为rbenv 比 RVM 更可取。 rbenv 不会像 RVM 那样严重干扰您的 shell,它允许您在可以直接检查的普通文件夹中添加单独的 Ruby 安装。它允许您自己编译 Ruby。此处的差异概述:https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

    我提供了为 rbenv here 编译 Ruby 1.9 的说明。此外,更详细的信息here。我在 Snow Leopard、Lion 和 Mountain Lion 上轻松成功地使用了这种技术。

    【讨论】:

    • 最初提出这个问题时,没有选择 rbenv。时代在变,代码也在变。 RVM 仍然是一个不错的选择,但与 rbenv 相比它是重量级的。我在不同的机器上都使用它们,因为它们都以不同的方式有用。
    【解决方案6】:

    Dan Benjamin 的 Hivelogic 文章 Installing Ruby, RubyGems, and Rails on Snow Leopard 是推荐的地方,虽然文章是针对 1.8 的,所以这里是 Ruby 1.9-specific install on Snow Leopard。注意 64 位的东西...要么全部使用 64 位“胖”(例如 OS X 上的 Apache,这可能会导致 32 位库出现问题),要么检查你可能的任何 gem用于确保它们适用于 64 位。

    【讨论】:

      【解决方案7】:

      这个命令确实有效

      \curl -L https://get.rvm.io | bash -s stable --ruby

      【讨论】:

        【解决方案8】:

        如前所述,捆绑器版本对于您的 rails 版本可能太高了。

        我在使用需要 Bundler v1.0.0 - v1.0.22 的 Rails 3.0.1 时遇到了同样的问题

        使用以下命令检查您的捆绑程序版本:gem list bundler

        如果您的捆绑程序版本不在适当的范围内,我发现此解决方案可行:rvm @global do gem uninstall bundler

        注意:此解决方案需要 rvm...另一种情况说明您应该首先使用 rvm。

        【讨论】:

          【解决方案9】:

          还有其他几个版本管理器需要考虑,see for a few examples,还有一个我很快会尝试的未在其中列出的是ch-ruby。我尝试了 rbenv 但遇到了太多问题。 RVM 是我的支柱,尽管它有时会出现奇怪的问题(因此我希望有机会时尝试 ch-ruby)。我不会碰系统 Ruby,因为其他东西可能会依赖它。

          我应该补充一点,我也多次编译了自己的 Ruby,如果您采用这条路线,那么使用 Hivelogic 文章(正如 Dave Everitt 所建议的那样)是一个好主意。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-05-21
            • 2012-01-09
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多