2014-02-25 59 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網站介紹瞭如何重新安裝它)。

相關問題