【发布时间】:2015-03-11 12:11:41
【问题描述】:
自去年秋天升级到 Yosemite 以来,我没有使用过 ruby、vagrant 或 rvm。但是我现在需要在一个项目中使用 Vagrant,所以我运行了最新的包安装程序并尝试运行它。我从红宝石那里得到一个错误。我不确定 rvm 或其他东西是否在 OSX 升级过程中被破坏,所以首先我尝试从 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 上一样工作。我不是 ruby 开发人员,所以我不想跟上 ruby 和朋友的步伐,我只想让这台机器的默认 ruby 能够正常工作。如果需要,我可以稍后安装 rvm 或类似的。
知道这实际上是如何/为什么搞砸的吗?更重要的是,我如何回到工作状态以便 ruby 运行?实际上,是否有资源描述了这些东西是如何安排和配置的,因为我怀疑任何搞砸的东西都可能出现在其他领域。
【问题讨论】:
标签: ruby macos vagrant osx-yosemite