2011-12-23 62 views
2

環境(Mac OS X的10.7.2 - 獅子):Ruby on Rails的服務器將無法啓動:dyld的:延遲符號綁定失敗:找不到符號:_mysql_get_client_info

$ ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10] 
$ rails -v 
Rails 3.1.3 
$ mysql -v 
Server version: 5.1.44 

我嘗試運行下面的,但我「M具有相同的錯誤每次招呼甚至從所有網站上施加修正後:

$ rails server 

dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info 
Referenced from: /Users/pressplay/.rvm/gems/ruby-1.9.3-p0/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle 
Expected in: flat namespace 

dyld: Symbol not found: _mysql_get_client_info 
Referenced from: /Users/pressplay/.rvm/gems/ruby-1.9.3-p0/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle 
Expected in: flat namespace 

Trace/BPT trap: 5 
在定影

失敗的嘗試包括:

sudo install_name_tool -change libmysqlclient.16.dylib /Applications/MAMP/Library/lib/mysql/libmysqlclient.16.dylib ~/.rvm/gems/ruby-1.9.3-p0/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle 

sudo ln -s /Applications/MAMP/Library/lib/mysql/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 
+0

我記得有人解決這個問題通過恢復到以前版本的Xcode的構建工具 – 2011-12-23 04:31:00

回答

6

如果您使用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 
0

我只需要補充一點,您首先需要卸載mysql2 gem,然後按照上面的說明重新安裝。

sudo gem uninstall mysql2 
2

卸載mysql2 gem,然後用sudo安裝gem解決了我的問題。

gem uninstall mysql2 
sudo gem install mysql2 
+0

我有這個問題了幾個星期,sudoing終於解決了這個問題。 – JohnnyAce 2016-03-08 06:35:14

相關問題