我正在尝试在rails上安装ruby,到目前为止所有内容都已安装,但是当我尝试使用rake db:create
创建数据库时,我得到一个奇怪的错误:
dyld:延迟符号绑定失败:未找到符号:_mysql_get_client_info 参考自:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle 期望:平面命名空间
dyld:未找到符号:_mysql_get_client_info 参考自:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle 期望:平面命名空间
Trace / BPT trap:5
我正在研究osx mountain lion最新更新。有没有人能为我找到合适的解决方案?
答案 0 :(得分:4)
你可以试试这个。
sudo gem install mysql2 — –with-mysql-config=/usr/local/mysql/bin/mysql_config
请务必使用您的位置修改mysql配置路径。
您可以使用以下命令确定此信息。
locate mysql_config
利用上面命令给出的路径。
答案 1 :(得分:2)
关于这一点有很多问题,至少有很多答案在某些时候起作用而在其他时候起作用。在尝试了大部分内容之后,我注意到gem是64位,mysql安装是32位。
修复它:
我没有包含确切的代码,因为这会随着您的环境而变化。
答案 2 :(得分:2)
该消息告诉您已将错误的版本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
答案 3 :(得分:1)
我正在努力解决这个问题。我尝试了上面的所有答案,因此我无法确定哪种组合能够解决问题。我已经安装了mysql并已从mysql的网站重新安装。在我跟着轰鸣声后,它终于开始工作了。
这是在Mavericks上使用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
答案 4 :(得分:0)
您需要安装64位MySql服务器。别忘了重新安装mysql gem。
答案 5 :(得分:0)
由于某种原因,我安装了两个版本的mysql(32位和64位)。
确保您的$ MYSQL环境变量(最有可能在〜/ .bash_profile或〜/ .profile中找到)指向64位版本。
另外,请确保在安装gem时指向正确的mysql安装,如其他答案所述。
答案 6 :(得分:0)
我有同样的问题。 mysql2版本为0.4.9,将其降级为0.4.5,问题解决了