当我尝试运行ruby -v
或gem -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”
任何帮助都将不胜感激。
答案 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