创建ruby db时,延迟符号绑定失败

我试图在rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rake db:create创建一个数据库时,我得到一个奇怪的错误:

dyld:惰性符号绑定失败:未找到符号:_mysql_get_client_info引用自:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle预期:flat namespace

dyld:找不到符号:_mysql_get_client_info引用自:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle预期:flat namespace

跟踪/ BPT陷阱:5

我正在研究osx mountain lion最新更新。 有没有人能为我找到合适的解决方案?

你可以试试这个。

 sudo gem install mysql2 — –with-mysql-config=/usr/local/mysql/bin/mysql_config 

请务必使用您的位置修改mysql配置路径。

您可以使用以下命令确定此信息。

 locate mysql_config 

利用上面命令给出的路径。

关于这一点有很多问题,至少有很多答案在某些时候起作用而在其他时候起作用。 在尝试了大部分内容之后,我注意到gem是64位,mysql安装是32位。

要解决这个问题:

  • 安装64位mysql
  • 在/ usr / local中设置符号链接以指向64位版本
  • 在配置文件中设置PATH和DYLD_LIBRARY_PATH以包含正确的版本
  • 卸载mysql2 gem
  • 安装mysql2 gem
  • ruby现在可以很好地使用mysql了!

我没有包含确切的代码,因为这会随着您的环境而变化。

该消息告诉您已将错误的版本32与64相关联

在OSX上,您可以看到安装了mysql的所有版本

 cd /usr/local/ 

并在/ usr / local / mysql-xxxx / bin / mysql_config中找到正确的配置

在我的情况下它是:

 gem uninstall mysql2 sudo gem install mysql2 -- --with-mysql-config=/usr/local/mysql-5.5.27-osx10.6-x86_64/bin/mysql_config 

如下所述: https : //www.ruby-forum.com/topic/1440086

我正在努力解决这个问题。我尝试了上面的所有答案,所以我无法确定哪种组合导致修复。 我已经安装了mysql,并已从mysql的网站重新安装。 在我跟着轰鸣声后,它终于开始工作了。

这是在小牛队使用rails 4和brew安装

 brew install mysql 

我不推荐这个过程。只是注意到它在经过数小时的挫折之后对我有用。

 ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist sudo gem uninstall mysql gem uninstall mysql2 gem install mysql gem install mysql2 

您需要安装64位MySql服务器。 别忘了重新安装mysql gem。

出于某种原因,我安装了两个版本的mysql(32位和64位)。

确保你的$ MYSQL环境变量(很可能在〜/ .bash_profile或〜/ .profile中找到)指向64位版本。

还要确保在安装gem时指向正确的mysql安装,如其他答案所述。

我有同样的问题。 mysql2版本为0.4.9,将其降级为0.4.5,问题解决了