Ruby 失败,因为安装了 Yosemite

Ruby fails since Yosemite installed

自从去年秋天升级到 Yosemite 后,我就没有使用过 ruby、vag运行t 或 rvm。但是我现在需要为一个项目使用 Vag运行t,所以我 运行 最新的软件包安装程序并尝试 运行 它。我从 ruby 收到一个错误。我不确定在 OSX 升级期间是否损坏了 rvm 或其他东西,所以首先我尝试从 rvm 安装最新的 ruby,但这并没有解决我的问题 运行 ning Vag运行t 要么,然后我卸载了 rvm 和它知道的所有红宝石。我应该回到普通香草 OSX ruby。然后我试着测试 ruby 看看会发生什么:

$> which ruby
/usr/local/bin/ruby

$> ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.i386-darwin14]
dyld: lazy symbol binding failed: Symbol not found: _ruby_run
  Referenced from: /usr/local/bin/ruby
  Expected in: /usr/lib/libruby.dylib

dyld: Symbol not found: _ruby_run
  Referenced from: /usr/local/bin/ruby
  Expected in: /usr/lib/libruby.dylib

Trace/BPT trap: 5

我尝试 运行 Vag运行t 的问题似乎是它在 /usr/local/bin/ruby 寻找 ruby 所以任何 rvm ruby 都不是找到并使用系统 ruby。 dylib 参考是关于什么的?几年前,我安装了 MacPorts 来获取 postresql,但升级后它也没有存活下来,至少 port 命令消失了,我已经按照他们网站上的建议将所有旧文件移开作为卸载。我希望这不会影响事情。

这里还有其他一些关于此类故障的类似问题,但它们都指向安装 rvm 或 MacPorts 或 HomeBrew 或其他第三方软件包的解决方案。我想要的是 OSX 安装的 ruby 可用并像在我妻子(非开发人员)mac 上一样工作。我不是 ruby 开发人员,所以我不想跟上 ruby 和朋友的步伐,我只想让这个 machine 的默认 ruby 正常工作正如它应该。如果需要,我可以稍后安装 rvm 或类似的东西。

关于 how/why 这实际上是一团糟的想法吗?更重要的是,我如何回到工作状态,以便 ruby 运行s?实际上,是否有资源描述了这些东西是如何被分配和配置的,因为我怀疑任何搞砸的东西可能会出现在其他区域。

系统 ruby 在

/usr/bin/ruby

您使用的可能是 Homebrew 安装的。检查 /usr/bin/ 中是否有系统 ruby 并删除 /usr/local/bin 中的系统。在 /usr/bin 之前,您的路径中可能有 /usr/local/bin