简体   繁体   中英

Can't install mysql2 Gem on MAMP

After running bundle install, I got this error. I've tried editing the /etc/paths file and it still hasn't worked.

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/Users/adam/.rvm/rubies/ruby-2.1.5/bin/ruby -r ./siteconf20150224-4249-ltvvu1.rb extconf.rb 
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using mysql_config at /Applications/MAMP/Library/bin/mysql_config
-----
checking for mysql.h... no
checking for mysql/mysql.h... yes
checking for errmsg.h... no
-----
errmsg.h is missing.  please check your installation of mysql and try again.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/adam/.rvm/rubies/ruby-2.1.5/bin/ruby
    --with-mysql-dir
    --without-mysql-dir
    --with-mysql-include
    --without-mysql-include=${mysql-dir}/include
    --with-mysql-lib
    --without-mysql-lib=${mysql-dir}/lib
    --with-mysql-config
    --without-mysql-config

extconf failed, exit code 1

Gemfile

ruby-2.1.5
gem 'rails', '4.1.7'
gem 'mysql2'

/etc/paths

/Applications/MAMP/Library/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

Is this related to my MySql installation?

尝试:

gem install mysql2 -- --with-mysql-config=/Applications/MAMP/Library/bin/mysql_config

I've fixed this by simply running gem install using the mysql config an existing config.

gem install mysql2 -v {mysql2_gem_version} --  --with-mysql-config=/usr/local/Cellar/mysql/{mysql_gem_version}/bin/mysql_config



gem install mysql2 -v '0.3.17' -- --with-mysql-config=/usr/local/Cellar/mysql/5.6.21/bin/mysql_config

Try this:

First add the below dependencies by using below commands:

sudo apt-get install mysql-server-5.5

sudo apt-get install mysql-client libmysqlclient-dev

sudo apt-get install libmysqld-dev libmysqlclient-dev mysql-client

Finally Add gem 'mysql2', '~> 0.3.16' in Gemfile and bundle install

Off topic:

I experienced this problem when I deployed my app to production (Linux Server)

I had to install this to fix the missing gem

yum install mysql-devel

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM