自Yosemite安装以来,Ruby失败了

时间:2015-03-10 19:39:15

标签: ruby macos vagrant osx-yosemite

自去年秋天升级到优胜美地以来,我没有使用红宝石,流浪汉或者rvm。但我现在需要将Vagrant用于项目,因此我运行了最新的软件包安装程序并尝试运行它。我从ruby那里得到了一个错误。我不确定在OSX升级期间rvm或其他东西是否被破坏了,所以首先我尝试从rvm安装最新的ruby,但这并没有解决我运行Vagrant的问题,所以我卸载了rvm和所有的它知道的红宝石。我应该回到普通的OSX红宝石。然后我尝试测试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

我试图运行Vagrant的问题似乎是它在/ usr / local / bin / ruby​​中查找ruby,因此找不到任何rvm ruby​​并且使用了系统ruby。什么是dylib参考?几年前我安装了MacPorts以获得postresql,但是升级后也没有,至少port命令已经消失了,我已经将所有旧文件移出了他们网站上建议的卸载方式。我希望这不影响事情。

此处还有一些类似的故障,但所有这些问题都指向安装rvm或MacPorts或HomeBrew或其他第三方软件包的解决方案。我想要的是OSX安装的ruby可用并且像我妻子的(非开发者)mac那样工作。我不是一个红宝石开发人员,所以我不想跟上红宝石和朋友,我只是希望这台机器的默认红宝石能够正常工作。如果需要,我可以稍后安装rvm或类似的。

关于如何/为什么这实际上搞砸了?更重要的是,我如何回到工作状态以便ruby运行?实际上,是否有一个资源描述了这些东西是如何排列和配置的,因为我怀疑无论搞砸了什么都可能出现在其他领域。

1 个答案:

答案 0 :(得分:2)

系统ruby位于

/usr/bin/ruby

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