如何在Mac OS X上安装MySQL gem

9
我需要在Mac OS X上安装mysql gem,但是出现了“构建本地扩展失败”的错误。
10个回答

20

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

然后:

gem install mysql2

或者:

gem install ruby-mysql

只需选择一个,就可以开始使用了。


编辑

如果你在 OS X 上升级到 MySQL 版本 5.6.12,则 mysql2 将无法编译。解决方法是按照此处描述的方式降级 MySQL:https://dev59.com/1GQm5IYBdhLWcg3w6SdR#17252887


编辑2

如果你不想安装 mysql(也许你使用 docker 来管理服务),但仍想使用 mysql2 gem,则可以安装 mysql-connector-c(使用 homebrew)。


2
使用Homebrew安装MSSQL,请输入以下命令:"brew install mysql"。 - Pierre-Gilles Levallois
如果您在使用Mac Ports时遇到MySQL问题,请运行以下命令:gem install mysql2 -- --with-mysql-config=/opt/local/lib/mysql?/bin/mysql_config - lesyk
你不想降级mysql5。在Mysql8中,“caching_sha2_password”是默认的缓存机制。如果客户端库不支持“caching_sha2_password”,则可以将mysql身份验证机制更改为“sha256_password”,例如https://dev59.com/vVUL5IYBdhLWcg3wsJwd。 - tessie

15

之前我在我的博客上写了一篇关于在10.6中安装mysql gem的教程,但我认为在10.5中也是一样的。

安装命令如下:

ARCHFLAGS="-arch x86_64" gem install mysql -- \
  --with-mysql-config=/path/to/mysql_config

但您需要找到真实的值/path/to/mysql_config。我的博客文章有一些提示,但有一件非常重要的事情:您必须已安装带有头文件的MySQL。来自MySQL的官方.pkg安装程序不会,如果我没记错的话。最好的做法是使用Homebrew安装MySQL(在文章中,我使用了MacPorts安装的示例,但那是因为Homebrew在我写这篇文章时还不成熟)。

如果您使用Homebrew安装MySQL,则mysql_config将位于/usr/local/bin/mysql_config,如果您使用MacPorts安装,则位于/opt/local/lib/mysql5/bin/mysql_config

我同意其他答案的建议,建议您安装mysql2 gem,而不是mysql。我认为上面的命令对于mysql2也应该有效。


仍在使用10.15版本,尽管我忽略了ARCHFLAGS - Graeme

10

如果您已经在网络上的其他地方运行了MySQL服务器,并且想要安装宝石而不必安装MySQL,请尝试以下操作

brew install mysql-connector-c

接着是

gem install mysql

9

我正在运行带 Homebrew 的 Mac OS X Lion。

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

gem install mysql -- \ --with-mysql-config=/usr/local/bin/mysql_config 

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

并且

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

这对我有效 ;)

4

对我来说,这是最简单的:

brew install mysql
gem install mysql

Brew是Mac OS的软件包管理器,它是必备的工具。首先使用它来安装MySQL,即可弥补gem命令所缺失的一切。


在10.10上对我有用。这比被接受的答案好多了。如果您需要准备好的语句,mysql2并不比mysql更好。请参阅:https://dev59.com/J3zaa4cB1Zd3GeqPPWWk#21726231 - Ed Halferty

3
我正在使用Mac OS X 10.10(Yosemite),以下命令适用于我:
gem install mysql2 -- \ --with-mysql-config=/usr/local/mysql/bin/mysql_config

3
我使用Homebrew安装了MySQL,最终需要使用以下命令才能升级gem:
gem install mysql2 -- --with-mysql-dir=/usr/local/opt/mysql/

这对我很有帮助,但是我必须使用mysql所在的目录。对我来说,它是opt/homebrew/opt/mysql... - Mason SB
我正在处理一个旧项目,需要使用特定版本的MySQL。我的命令是 gem install mysql2 -- --with-mysql-dir=/usr/local/opt/mysql@5.7/ - Alexander Dischberg

1

我使用DWG安装了MySQL,mysql_config位于/usr/local/mysql/bin/mysql_config

gem install mysql -- \ --with mysql-config=/usr/local/mysql/bin/mysql_config 

0

在MacOS Mojave上设置MySQL gem时,我遇到了这个问题。以下方法对我有效:

1 确保已安装Xcode命令行工具。 xcode-select --install

  1. 对于我来说,构建仍然失败,因为缺少一些头文件,需要安装 open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

这个链接指向了正确的方向。 Can't compile C program on a Mac after upgrade to Mojave


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接