What do I need to install mysql gem on Mac OS X ? I'm getting error "failed to build native extensions".
How to install MySQL gem on Mac OS X
27.8k views Asked by synapse AtThere are 10 answers
Some time back I wrote some instructions on my blog on how to do it in 10.6, but I think it's the same in 10.5.
I comes down to this command:
ARCHFLAGS="-arch x86_64" gem install mysql -- \
--with-mysql-config=/path/to/mysql_config
but you need to find the real value for /path/to/mysql_config
. My blog post has a few tips, but there's one very important thing: you must have installed MySQL with headers. The official .pkg
installer from MySQL doesn't IIRC. The best thing to do is to install MySQL with Homebrew (in the post I use examples from a MacPorts install, but that's because Homebrew wasn't mature when I wrote it).
If you install MySQL with Homebrew mysql_config
will be located at /usr/local/bin/mysql_config
and if you install it with MacPorts it will be at /opt/local/lib/mysql5/bin/mysql_config
.
I concur with the other answer that suggest that you install the mysql2
gem instead of mysql
. I think the command above should work for mysql2
too.
I came across this issue while setting up MySQL gem on MacOs Mojave .This worked for me
1 Ensure Xcode command line tools are installed.
xcode-select --install
- For me the build was still failing with some header files missing which you have to install open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
This link pointed to right direction. Can't compile C program on a Mac after upgrade to Mojave
I'm using Mac OS X Mountain Lion, and installed MySQL with DMG.
gem install do_mysql -- \ --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include
and
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
This works for me ;)
Install MySQL first, either by using binary or Homebrew.
Then:
Or:
Just pick one and you are good to go.
Edit
In case you upgraded to MySQL version 5.6.12 on OS X, mysql2 will fail to compile. Solution is to downgrade MySQL as described here: https://stackoverflow.com/a/17252887/45254
Edit2
In case you don't want to have mysql installed (maybe you use docker to manage your services) but do want to use mysql2 gem, you can instead install
mysql-connector-c
(using homebrew).