2015-10-08 52 views
11

自從我升級OSX 10.11,我不能用我的Rails應用程序使用MySQL了:導軌上OSX 10.11埃爾卡皮坦:庫未加載:libmysqlclient.18.dylib

$ rails s 
/Users/josh/.rvm/gems/[email protected]/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require': dlopen(/Users/josh/.rvm/gems/[email protected]/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) 
    Referenced from: /Users/josh/.rvm/gems/[email protected]/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle 
    Reason: image not found - /Users/josh/.rvm/gems/[email protected]/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle 
    from /Users/josh/.rvm/gems/[email protected]/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require' 
    from /Users/josh/.rvm/gems/[email protected]/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency' 
    from /Users/josh/.rvm/gems/[email protected]/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require' 

我發現其他職位約類似的問題,但我太初學者在這方面,由於解決版本的改變等

回答

50

以前的答案(預埃爾卡皮坦),是創建MySQL的lib目錄下的庫文件到/ usr/lib中的符號鏈接,就像這樣:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 

但是這個現在生產「的操作不由於OS X的完整性控制而被允許。這可以通過禁用這個解決。然而一個更簡單的解決方案(和一個我可以確認已經工作)是剛剛它符號鏈接到/ usr/local/lib目錄,而不是:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib 

好醇」蘋果。

+0

正在工作。完善!謝謝。 –

+0

它的工作完全謝謝 –

+0

有一點需要注意的是,如果你在虛擬環境中使用Python,你可能需要重新創建它或改變路徑,因爲它可能仍然指的是/ usr/lib版本,不存在。 –

0

我有同樣的問題,只需打開終端命中:

sudo nano ~/.bash_profile 

粘貼以下行:

MYSQL=/usr/local/mysql/bin 
export PATH=$PATH:$MYSQL 
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH 

這就是它。

+2

這並沒有改變我的一個事情。我也關閉了重新打開終端,以確保它正確地加載。 –

+0

今天我有類似的問題 - 你有沒有發現它的底部。 –

相關問題