安装最新版本的heroku工具带后,我遇到了这个问题。
如果我使用heroku
命令,我会收到此错误:
$ heroku -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
Trace/BPT trap: 5
我在OSX 10.9.1上使用ruby 2.1.1p76和Rails 4.0.3运行RVM。我重新安装了rvm,home-brew,从2.0.0更新了ruby。并开始使用postgresql 9.3进行开发。我使用postgresql 9.3进行开发。
答案 0 :(得分:2)
我遇到了同样的问题,这使我无法使用Rails或Heroku。改变我的PATH
什么也没做。
我的解决方案是从/usr/local/bin
和/usr/local/lib
删除Ruby。具体来说,我将/usr/local/bin/ruby
重命名为/usr/local/bin/rubyOLD
,并将/usr/local/lib/ruby
目录重命名为/usr/local/lib/rubyOLD
。
由于heroku也安装在/usr/local
中并且它指的是/usr/local
ruby,因此我将/usr/local/bin/heroku
重命名为/usr/local/bin/herokuOLD
并通过Heroku Toolbelt重新安装。
我还重新安装了rvm(rvm implode
完全删除了系统中的rvm,rvm website网站解释了如何重新安装它。)
答案 1 :(得分:1)
您似乎在/usr/local
中有一个较新的ruby版本,在/usr
中有较旧的版本。来自旧版本的共享库在运行时链接到新版本的二进制文件。
调整DYLD_LIBRARY_PATH
,使/usr/local/lib
在/usr/lib
之前,以便链接器找到libruby.dylib
中的/usr/local/lib
。或者使用install_name_tool
直接修改/usr/local/bin/ruby
上的库路径。