如何在Mac OS X上安装MySQL gem

syn*_*pse 9 ruby mysql osx-leopard

在Mac OS X上安装mysql gem需要什么?我收到错误"无法构建原生扩展".

Kru*_*ule 20

首先安装MySQL,使用二进制文件或Homebrew.

然后:

gem install mysql2
Run Code Online (Sandbox Code Playgroud)

要么:

gem install ruby-mysql
Run Code Online (Sandbox Code Playgroud)

只需选择一个就可以了.


编辑

如果你在OS X上升级到MySQL版本5.6.12,mysql2将无法编译.解决方案是降级MySQL,如下所述:https://stackoverflow.com/a/17252887/45254


EDIT2

如果你不想安装mysql(也许你使用docker来管理你的服务)但是想要使用mysql2 gem,你可以改为安装mysql-connector-c(使用自制程序).

  • 用homebrew安装mssql,输入命令:"brew install mysql". (2认同)

The*_*heo 13

一段时间后,我在我的博客上写了一些关于如何在10.6中做到这一点的说明,但我认为它在10.5中是相同的.

我来到这个命令:

ARCHFLAGS="-arch x86_64" gem install mysql -- \
  --with-mysql-config=/path/to/mysql_config
Run Code Online (Sandbox Code Playgroud)

但你需要找到真正的价值/path/to/mysql_config.我的博客文章有一些提示,但有一个非常重要的事情:你必须用头文件安装MySQL..pkgMySQL 的官方安装程序不是IIRC.最好的办法是使用Homebrew安装MySQL (在帖子中我使用MacPorts安装中的示例,但那是因为我编写时Homebrew并不成熟).

如果你安装有自制的MySQL mysql_config将位于/usr/local/bin/mysql_config如果你使用MacPorts安装它,它会在/opt/local/lib/mysql5/bin/mysql_config.

我同意另一个答案,建议您安装mysql2gem而不是mysql.我认为上面的命令也应该起作用mysql2.


小智 9

如果你已经在网络上的其他地方运行MySQL服务器并且想要安装gem而不必安装MySQL,请尝试以下方法

brew install mysql-connector-c
Run Code Online (Sandbox Code Playgroud)

其次是

gem install mysql
Run Code Online (Sandbox Code Playgroud)


小智 8

我用Homebrew运行Mac OS X Lion.

安装ruby gem的正确命令是......

gem install mysql -- \ --with-mysql-config=/usr/local/bin/mysql_config 
Run Code Online (Sandbox Code Playgroud)


小智 6

我正在使用Mac OS X Mountain Lion,并使用DMG安装MySQL.

gem install do_mysql -- \ --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include
Run Code Online (Sandbox Code Playgroud)

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)

这对我有用;)