0

当我尝试运行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 工作正常,但我特别需要将 gem 安装到系统 Ruby 中,因为这个问题我不能。

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

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

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

任何帮助,将不胜感激。

4

2 回答 2

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
于 2014-06-24T01:26:43.610 回答
0

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

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

于 2013-11-06T14:40:36.423 回答