在Mac OS X上安装mysql gem需要什么?我收到错误“无法构建原生扩展”。
答案 0 :(得分:20)
首先使用二进制文件或Homebrew安装MySQL。
然后:
gem install mysql2
或者:
gem install ruby-mysql
选择一个,你很高兴。
修改强>
如果您在OS X上升级到MySQL版本5.6.12,mysql2将无法编译。解决方案是按照此处所述降级MySQL:https://stackoverflow.com/a/17252887/45254
<强> EDIT2 强>
如果你不想安装mysql(也许你使用docker来管理你的服务)但是想要使用mysql2 gem,你可以安装mysql-connector-c
(使用自制软件)。
答案 1 :(得分:13)
有一段时间我写了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
。
答案 2 :(得分:8)
我正在使用Homebrew运行Mac OS X Lion。
安装ruby gem的正确命令是......
gem install mysql -- \ --with-mysql-config=/usr/local/bin/mysql_config
答案 3 :(得分:8)
如果您已经在网络上的其他位置运行MySQL服务器并且仍希望安装gem而无需安装MySQL,请尝试以下
brew install mysql-connector-c
接着是
gem install mysql
答案 4 :(得分: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
这对我有用;)
答案 5 :(得分:4)
对我而言,它最容易做到:
brew install mysql
gem install mysql
Brew是Mac OS的软件包管理器,必须。使用它来安装mysql首先会带来gem命令缺失的所有内容。
答案 6 :(得分:2)
我正在使用Mac OS X 10.10(优胜美地),而且我使用了命令下面的命令:
gem install mysql2 -- \ --with-mysql-config=/usr/local/mysql/bin/mysql_config
答案 7 :(得分:1)
我使用DWG安装MySQL mysql_config将位于/usr/local/mysql/bin/mysql_config
gem install mysql -- \ --with mysql-config=/usr/local/mysql/bin/mysql_config
答案 8 :(得分:1)
我在Homebrew上安装了MySQL,最终不得不使用它来升级gem:
gem install mysql2 -- --with-mysql-dir=/usr/local/opt/mysql/
答案 9 :(得分:0)
在MacOs Mojave上设置MySQL gem时遇到了这个问题。
1确保已安装Xcode命令行工具。
xcode-select --install
此链接指向正确的方向。 Can't compile C program on a Mac after upgrade to Mojave