创建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,问题解决了