MySQL 在Snow Leopard系统下安装MySQL gem时可能出现的问题以及如何解决

MySQL 在Snow Leopard系统下安装MySQL gem时可能出现的问题以及如何解决

在本文中,我们将介绍在Snow Leopard系统下安装MySQL gem时可能出现的问题以及如何解决。

阅读更多:MySQL 教程

问题描述

在Snow Leopard系统下,当我们尝试通过gem安装mysql时,可能会遇到以下错误信息:

$ sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
...
ld: warning: in /usr/local/mysql/lib/libmysqlclient.dylib, file is not of required architecture
ld: warning: in /usr/local/mysql/lib/mysql/libmysqlclient.a, file is not of required architecture
ld: warning: in /usr/local/mysql/lib/mysql/libmysqlclient_r.a, file is not of required architecture
ld: warning: in /usr/local/mysql/lib/mysql/libmysqlclient.18.dylib, file is not of required architecture
ld: warning: in /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib, file is not of required architecture
ld: warning: in /usr/lib/libssl.dylib, file is not of required architecture
ld: warning: in /usr/lib/libcrypto.dylib, file is not of required architecture
ld: dynamic main executables must be at least 4K for 32-bit code slices, prebinding disa

解决方法

这个错误发生的原因是Mac OS X Snow Leopard默认是64位的,而MySQL的安装包默认是32位的,因此gem安装时会出现这个错误。

解决这个问题的方法是安装一个64位的版本的MySQL,并将其路径传递给gem安装命令。以下是一些解决方案:

解决方案1

使用Homebrew安装64位版本的MySQL:

$ brew install mysql
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/Cellar/mysql/<VERSION>/bin/mysql_config

其中,<VERSION>指的是你安装的MySQL版本号。

解决方案2

手动安装64位版本的MySQL:

  • 首先,从MySQL官网下载64位的MySQL安装包,并进行安装。

  • 然后,通过以下命令运行gem安装:

    $ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- \
    --with-mysql-config=/usr/local/mysql/bin/mysql_config \
    --with-opt-lib=/usr/local/mysql/lib --with-opt-include=/usr/local/mysql/include
    

解决方案3

如果你已安装了MySQL的32位版本,你可以使用fat_binary工具将其转换为fat binary

$ sudo /Developer/Library/universal-binaries/fat_binary.pl /usr/local/mysql/lib/libmysqlclient.{a,dylib}

然后运行以下命令安装gem:

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- \
--with-mysql-config=/usr/local/mysql/bin/mysql_config \
--with-opt-lib=/usr/local/mysql/lib/ \
--with-opt-include=/usr/local/mysql/include/

总结

在Snow Leopard系统下,安装mysql gem可能会遇到“file is not of required architecture”的错误。要解决这个问题,我们需要安装一个64位版本的MySQL,并将其路径传递给gem安装命令。希望这篇文章对你有所帮助!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程