【发布时间】:2011-06-25 09:44:22
【问题描述】:
在 Mac OS X 上安装 mysql gem 需要什么?我收到错误“无法构建原生扩展”。
【问题讨论】:
标签: mysql ruby osx-leopard
在 Mac OS X 上安装 mysql gem 需要什么?我收到错误“无法构建原生扩展”。
【问题讨论】:
标签: mysql ruby osx-leopard
首先安装 MySQL,使用二进制或Homebrew。
然后:
gem install mysql2
或者:
gem install ruby-mysql
随便挑一个就可以了。
编辑
如果您在 OS X 上升级到 MySQL 版本 5.6.12,mysql2 将无法编译。解决方案是按照此处所述降级 MySQL:https://stackoverflow.com/a/17252887/45254
编辑2
如果您不想安装 mysql(也许您使用 docker 来管理您的服务)但想使用 mysql2 gem,您可以安装 mysql-connector-c(使用自制软件)。
【讨论】:
caching_sha2_password 是默认的缓存机制。如果客户端库不支持caching_sha2_password,您可以将mysql身份验证机制更改为sha256_password,如stackoverflow.com/questions/49948350/phpmyadmin-on-mysql-8-0
前段时间我写了some instructions on my blog 来说明如何在 10.6 中做到这一点,但我认为在 10.5 中是一样的。
我归结为这个命令:
ARCHFLAGS="-arch x86_64" gem install mysql -- \
--with-mysql-config=/path/to/mysql_config
但您需要找到/path/to/mysql_config 的真正价值。我的博客文章有一些提示,但有一件非常重要的事情:您必须安装带有标头的 MySQL。 MySQL 的官方 .pkg 安装程序没有 IIRC。最好的办法是使用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。
【讨论】:
ARCHFLAGS。
如果您已经在网络上的其他地方运行了 MySQL 服务器,并且仍想安装 gem 而无需安装 MySQL,请尝试以下操作
brew install mysql-connector-c
紧随其后
gem install mysql
【讨论】:
我正在使用 Homebrew 运行 Mac OS X Lion。
安装 ruby gem 的正确命令是……
gem install mysql -- \ --with-mysql-config=/usr/local/bin/mysql_config
【讨论】:
我使用的是 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
这对我有用;)
【讨论】:
对我来说这是最简单的:
brew install mysql
gem install mysql
Brew 是 Mac OS 的软件包管理器,必须拥有。使用它安装mysql首先会带来gem命令所缺少的一切。
【讨论】:
我使用的是 Mac OS X 10.10 (Yosemite),对我来说使用下面的命令:
gem install mysql2 -- \ --with-mysql-config=/usr/local/mysql/bin/mysql_config
【讨论】:
我使用 Homebrew 安装了 MySQL,我必须使用它才能最终升级 gem:
gem install mysql2 -- --with-mysql-dir=/usr/local/opt/mysql/
【讨论】:
我用 DWG 安装 MySQL mysql_config 将位于/usr/local/mysql/bin/mysql_config
gem install mysql -- \ --with mysql-config=/usr/local/mysql/bin/mysql_config
【讨论】:
我在 MacOs Mojave 上设置 MySQL gem 时遇到了这个问题。这对我有用
1 确保已安装 Xcode 命令行工具。
xcode-select --install
此链接指向正确的方向。 Can't compile C program on a Mac after upgrade to Mojave
【讨论】: