小牛系统Ruby和宝石破碎

时间:2013-11-06 03:48:52

标签: ruby macos osx-mavericks

当我尝试运行ruby -vgem -v(或任何其他命令)时,我得到:

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

这是在我运行rvm system以暂时切换到系统默认Ruby之后。 RVM工作正常,但我特别需要在系统Ruby中安装gem而我不能因为这个问题。

有谁知道为什么?它似乎是Ruby的某种链接问题,但我不知道如何解决这个问题。

我跑了which ruby,此时位于“/ usr / local / bin / ruby​​”。

我在“/ usr / lib /”中检查了Ruby,它指向我的系统Ruby:“../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby”

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

答案是小牛打破了自制软件安装的Ruby。我只需要重新安装并强制链接它以使错误消息消失。

如果有人感兴趣,CodeKit可以使用外部指南针可执行文件正常工作,只需找到您的指南针文件,将其复制到/ usr / bin,然后在应用程序中指向它。

答案 1 :(得分:0)

这对我有用。我将libruby的符号链接更改回lib ruby​​.1.8.6.dylib

$ sudo cp -p /usr/local/lib/libruby.1.8.6.dylib /usr/lib
$ cd /usr/lib
$ sudo rm libruby.dylib
$ sudo ln -s libruby.1.8.6.dylib libruby.dylib

如果你需要回到Ruby 2.0

$ sudo rm libruby.dylib
$ sudo ln -s libruby.2.0.0.dylib libruby.dylib