![](/img/trans.png)
[英]Ruby on Rails server won't start: dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info
[英]OSX dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info
我安裝了mysql(5.6.27),這是當前最新的mysql版本(5.7 ..)。
我安裝了mysql2 gem-版本0.3.14
當我嘗試運行rake db:create
出現錯誤消息:
Karliss-Air:gostyling myuser$ rake db:create
dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info
Referenced from: /Users/myuser/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/mysql2-0.3.14/mysql2/mysql2.bundle
Expected in: flat namespace
dyld: Symbol not found: _mysql_get_client_info
Referenced from: /Users/myuser/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/mysql2-0.3.14/mysql2/mysql2.bundle
Expected in: flat namespace
但是更奇怪的是,當我運行nm -gU
它表明dylib在其中:
Karliss-Air:gostyling myuser$ nm -gU /usr/local/lib/libmysqlclient.18.dylib | grep _mysql_get_client_info
0000000000002ff5 T _mysql_get_client_info
Karliss-Air:gostyling myuser$
安裝gem時,我嘗試定義mysql路徑
gem pristine mysql2 -v '0.3.14' -- --with-mysql-dir=/usr/local/Cellar/mysql56/5.6.27 -–with-mysql-config=/usr/local/Cellar/mysql56/5.6.27/bin/mysql_config
它沒有幫助。
我真的很樂意提供幫助!
如果您使用的是rvm /不帶rvm(只需使用sudo),則請使用以下命令解決問題。
rvmsudo ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-opt-lib=/usr/local/mysql/lib
否則,嘗試卸載mysql2 gem,然后使用sudo安裝gem有時會解決。
sudo gem uninstall mysql2
sudo gem install mysql2
或者看一下: 創建Ruby數據庫時,懶惰符號綁定失敗
通過重新安裝Macbook解決了該問題。 我認為問題是我先安裝了mysql5.7,然后嘗試使用mysql56。 重新安裝后,我立即安裝了mysql56,一切正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.