RubyonRails服务器赢得';t start:dyld:lazy符号绑定失败:找不到符号:\u mysql\u获取\u客户端\u信息

RubyonRails服务器赢得';t start:dyld:lazy符号绑定失败:找不到符号:\u mysql\u获取\u客户端\u信息,mysql,ruby-on-rails,ruby,osx-lion,Mysql,Ruby On Rails,Ruby,Osx Lion,环境(Mac OS X 10.7.2-Lion): 我尝试运行以下程序,但每次都会遇到相同的错误,即使是在应用来自整个web的修复程序之后: $ 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/

环境(Mac OS X 10.7.2-Lion):

我尝试运行以下程序,但每次都会遇到相同的错误,即使是在应用来自整个web的修复程序之后:

$ 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

如果使用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 uninstall mysql2

卸载mysql2gem,然后用sudo安装gem,这对我来说是个解决办法

gem uninstall mysql2
sudo gem install mysql2

我记得有些人通过恢复到以前版本的xcode构建工具来解决这个问题。我有几个星期都遇到这个问题,Sudo最终解决了这个问题。
gem uninstall mysql2
sudo gem install mysql2