MySQL gem 在 Snow Leopard 上安装失败的解决方法
在本文中,我们将介绍如何解决在 Snow Leopard 系统上安装 MySQL gem 失败的问题。Snow Leopard 是苹果公司发布的操作系统,其版本号为 Mac OS X v10.6。这个操作系统的一个特点是,它开启了 64 位内核与应用程序,但默认情况下 MySQL 基于的 libmysqlclient 并不支持 64 位平台。因此当我们用 gem install mysql 命令来安装 MySQL gem 时,可能会遇到以下错误提示:
Building native extensions. This could take awhile...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
这种情况下,我们可以尝试以下几种解决方法。
阅读更多:MySQL 教程
方法一:使用 32 位的 libmysqlclient
如果您的系统已经安装了 MySQL,那么您可以通过以下的方法来获取 libmysqlclient.dylib 文件:
$ file /usr/local/mysql/lib/libmysqlclient.dylib
/usr/local/mysql/lib/libmysqlclient.dylib: Mach-O 64-bit dynamically linked shared library x86_64
上述命令用于查看 libmysqlclient.dylib 文件的属性,如果您也看到了 x86_64 字段,说明该文件是 64 位的。为了能够兼容 MySQL gem,您需要使用 32 位的 libmysqlclient。
$ cd /usr/local/mysql-VERSION
$ sudo rm lib/libmysqlclient.dylib
$ sudo ln -s lib/libmysqlclient.18.dylib lib/libmysqlclient.dylib
上述命令用于删除 64 位的 libmysqlclient.dylib 并创建一个指向 32 位的 libmysqlclient.18.dylib 的软链接 libmysqlclient.dylib。
安装 MySQL gem:
$ gem install mysql -- --with-mysql-dir=/usr/local/mysql
方法二:使用 Homebrew 安装 MySQL
如果您没有在系统中手动安装 MySQL,那么您可以使用 Homebrew 工具来安装它。Homebrew 是一个软件包管理器,可以帮助我们在 Mac 上方便地安装诸如 MySQL 之类的软件。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update
$ brew install mysql
安装过程可能会需要一些时间,待安装完成后,您可以通过以下命令来启动 MySQL:
$ mysql.server start
然后再安装 MySQL gem:
$ gem install mysql2 -- --with-mysql-config=/usr/local/bin/mysql_config
注意,此时应使用 mysql2 gem 而非 mysql gem。
总结
以上介绍了解决 MySQL gem 在 Snow Leopard 上安装失败的两种方法。如果您遇到了类似的问题,可以尝试一下这些解决方法。希望这篇文章对大家有所帮助!