简体   繁体   English

Ruby on Rails服务器无法启动:dyld:惰性符号绑定失败:未找到符号:_mysql_get_client_info

[英]Ruby on Rails server won't start: dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info

Environment (Mac OS X 10.7.2 - Lion): 环境(Mac OS X 10.7.2 - Lion):

$ 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 

I try running the following but I'm greeted with the same error every time even after applying fixes from all over the 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

Failed attempts at fixing include: 修复尝试失败包括:

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 / without 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 

Uninstalling mysql2 gem and then installing gem with sudo solved it for me. 卸载mysql2 gem然后用sudo安装gem解决了它。

gem uninstall mysql2
sudo gem install mysql2

我可以补充一点,你首先需要卸载mysql2 gem,然后按照上面的说明重新安装。

sudo gem uninstall mysql2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 OSX dyld:懒惰的符号绑定失败:找不到符号:_mysql_get_client_info - OSX dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info 在C中出现错误消息“未定义的符号:mysql_get_client_info” - Error message “undefined symbol: mysql_get_client_info” in C 从node.js应用程序连接到mysql,错误:“ dyld:惰性符号绑定失败:找不到符号:_mysql_init” - Connect to mysql from node.js app, error: “dyld: lazy symbol binding failed: Symbol not found: _mysql_init” 未定义对“ mysql_get_client_info”的引用 - undefined reference to `mysql_get_client_info' RoR3和MySQL错误:dyld:找不到符号:_mysql_init - RoR3 and MySQL error: dyld: Symbol not found: _mysql_init Perl无法编译,找不到_mysql_init的懒惰符号绑定错误 - perl cannot compile with error of lazy symbol binding not found for _mysql_init 如何使用“?” 在Ruby On Rails中选择MySQL中的符号? - How to use the '?' symbol in a MySQL select in Ruby On Rails? macos 10.11 安装mysql 提示“dyld: Symbol not found: _SSL_library_ini” - macos 10.11 install mysql and prompt “dyld: Symbol not found: _SSL_library_ini” sensu服务器,客户端和api无法启动 - sensu server, client and api won't start Mac OS X和mysql2上的Rails-LoadError:找不到dlsym符号 - Rails with Mac OS X and mysql2 - LoadError: dlsym symbol not found
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM