2014-02-25 60 views
0

我安装了最新版本的heroku工具栏后遇到了这个问题。 如果我使用heroku命令,我得到这个错误:dyld:懒惰符号绑定失败:找不到符号:_ruby_run使用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运行红宝石2.1.1p76和Rails 4.0.3 RVM。我已经重新安装了rvm,家庭酿造,从2.0.0更新了ruby。并开始使用postgresql 9.3进行开发。我使用postgresql 9.3进行开发。

回答

1

它看起来像是在/usr/local中有一个较新的ruby版本,在/usr中有一个较旧的版本。来自旧版本的共享库将在运行时链接到新版本的二进制版本。

调整你DYLD_LIBRARY_PATH使/usr/local/lib/usr/lib之前,所以在/usr/local/liblibruby.dylib被发现,链接器首选。或者使用install_name_tool直接修改/usr/local/bin/ruby上的库路径。

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红宝石,我改名为/usr/local/bin/heroku/usr/local/bin/herokuOLD并通过Heroku Toolbelt重新安装。

我还重新安装了rvm以便采取更好的措施(rvm implode完全从您的系统中删除了rvm,并且rvm website网站介绍了如何重新安装它)。

相关问题