自去年秋天升级到优胜美地以来,我没有使用红宝石,流浪汉或者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运行?实际上,是否有一个资源描述了这些东西是如何排列和配置的,因为我怀疑无论搞砸了什么都可能出现在其他领域。
答案 0 :(得分:2)
系统ruby位于
/usr/bin/ruby
您正在使用的那个可能是由Homebrew安装的。检查/usr/bin/
中是否有系统ruby,并删除/usr/local/bin
处的系统ruby。您可能在/usr/local/bin
之前的路径中有/usr/bin
。