繁体   English   中英

RoR3和MySQL错误:dyld:找不到符号:_mysql_init

[英]RoR3 and MySQL error: dyld: Symbol not found: _mysql_init

我正在为我的Ruby on Rails 3.0.5应用程序Mac OS X 10.6解决MySQL问题。

我安装了MySQL 5.1版,我收到了这个错误:

dyld: lazy symbol binding failed: Symbol not found: _mysql_init
  Referenced from: /Users/manny/.gem/ruby/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

dyld: Symbol not found: _mysql_init
  Referenced from: /Users/manny/.gem/ruby/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

Trace/BPT trap

我试图安装MySQL v5.5,但错误仍然存​​在。 我从.dmg安装了MySQL。

您不需要删除MySQL并重新安装它,我只使用以下命令。 从终端进行操作非常简单,可以解决您的问题:

rvmsudo ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-opt-lib=/usr/local/mysql/lib 

我希望这可以帮助您解决问题。

我在网上尝试了很多解决方案。 最后我决定以另一种方式做到这一点。 原因是大多数解决方案都带有绑定问题的修复程序,这可以解决安装过程中的问题。 只是授权问题。

首先从Perl库文件夹中删除DBI和DBD / DBD :: mysql文件和文件夹:

/Library/Perl/5.16/darwin-thread-multi-2level

在那之后,我通过sudo开始战队

sudo cpan

在那里我安装了第一个DBI,然后安装了DBD :: mysql

install DBI
install DBD::mysql

一切都终于奏效了! 希望这有帮助,有人。 简单的解决方案。 它花了我2天的时间来调试和弄清楚。

给下面一个...

# Use mysqldump to backup your databases to text files!
# Stop the database server
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*

然后...

# Install Homebrew if you have not got it.
brew install mysql
export ARCHFLAGS="-arch i386 -arch x86_64" gem install mysql -- --with-mysql dir=/usr/local \ --with-mysql-config=/usr/local/bin/mysql_config

假设你的自制前缀是/ usr / local

否则你总是可以下载所需的MySQL版本,安装并运行以下内容......

env ARCHFLAGS="-arch x86_64" gem install --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

一定要在你的bash中设置你的路径,不要使用Rails来使用mysql2 0.2.7。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM