【问题标题】:Building Ruby from source on Mac, not working在 Mac 上从源代码构建 Ruby,不起作用
【发布时间】:2011-06-02 13:56:55
【问题描述】:

我正在尝试从 Snow Leopard 上的源代码构建 Ruby 1.9.2,但我不断收到此错误:

readline.c:在函数“username_completion_proc_call”中: readline.c:1292: 错误:'username_completion_function' 未声明(在此函数中首次使用) readline.c:1292:错误:(每个未声明的标识符只报告一次 readline.c:1292:错误:对于它出现的每个函数。) make[1]: *** [readline.o] 错误 1 make: *** [mkmain.sh] 错误 1

我是基于this tutorial 的,当我执行make 命令时出现错误。

我已经安装了 1.8.7,但想升级到最新版本,但还没有找到可靠、简单的方法。

【问题讨论】:

  • 下面有人告诉我尝试 RVM 来解决这个问题。当尝试通过 RVM 安装它时,我收到一个错误,当我检查日志时,它与这篇文章的错误完全相同。所以 RVM 不是答案。
  • 我认为问题是你没有安装 readline 开发包。 RVM 有一个单独的页面讨论它;我的答案中有一个链接,在使用 RVM 时会有所帮助。
  • 您是否尝试过更新您的readline
  • 另外,该教程对于 Ruby 1.9+ 来说不是很准确。 Rubygems 现在是 Ruby 1.9+ 的一部分。 This 看起来像一个更好的教程或 this 除了当前版本的 Ruby 1.9.2 是 1.9.2-p136。
  • @Tin Man,第二个链接差点让我到达那里,但我仍在解决他没有的一些错误,但非常感谢你让我走到这一步!

标签: ruby upgrade


【解决方案1】:

如果您尚未升级 DVD 上的 XCode 版本,请从 Apple's Developer site 进行升级。 DVD 上的 XCode 有一些错误。您必须注册,但它是免费的。

Snow Leopard 安装了 1.8.7,但那是供 Apple 使用的;他们安装了实际使用 Ruby 的代码,并且弄乱了他们的 Ruby 或安装的代码可能会破坏事情。您可能暂时不知道有什么东西坏了,直到事情变得不太正常,所以最好不要管他们的安装,自己安装一个。

正如其他答案所说,RVM 是安装 Ruby 以供自己使用的好方法。你不需要安装到/usr/local/bin 并且你绝对不想覆盖/usr/bin 中的Ruby。 RVM 通过安装到~/.rvm 来处理这个问题。您可以安装多个 Ruby 以及与 Ruby 关联的 gem,创建一组 gem,复制它们,删除或重新编译特定的 Ruby,或者在不影响 Apple 安装的 Rubyies 的情况下将其全部删除。 RVM 正在积极开发并经常更新,作者对问题非常敏感。

RVM 有一个处理readline issues 的页面。它专门用于处理 RVM,但如果您想放弃使用 RVM 并使用其他东西,可能会有所帮助。

【讨论】:

    【解决方案2】:

    升级到最新版 Ruby on Snow Leopard 的最简单方法是使用 RVM (The Ruby Version Manager)

    【讨论】:

      【解决方案3】:

      我会使用rvm,它是迄今为止编译 ruby​​ 的最简单方法,并且还有许多其他好处。

      【讨论】:

      • 升级的重点是让我可以使用已经安装的 MacRuby,但现在 RVM 说如果我想使用 MacRuby,我必须先安装“LLVM”,我现在也是需要卸载 MacRuby,然后安装 LLVM,然后重新安装 MacRuby?
      • 如果你想从 HEAD 获得 MacRuby 开发版本的最新开发快照,你只需要安装带有 RVM 的 LLVM,否则“rvm install macruby”将安装它并在一个命令中提供给你。那么你想要 Ruby 1.9.2 还是 MacRuby,或者两者都想要?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-07
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多