无法安装mysql2 gem

时间:2014-09-10 17:55:51

标签: mysql ruby ruby-on-rails-3

我正在尝试在新的Mavericks机器上设置一个不太旧(但仍然是几年)的Rails项目。 当我尝试bundle时,我不断收到此错误(对于长代码抱歉):

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/royzinn/.rbenv/versions/1.8.7-p352/bin/ruby extconf.rb --with-mysql-config=/usr/local/Cellar/mysql/5.5.20/bin/mysql_config
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... no
checking for mysql.h... no
checking for mysql/mysql.h... no
-----
mysql.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/royzinn/.rbenv/versions/1.8.7-p352/bin/ruby
    --with-mysql-config


Gem files will remain installed in /Users/royzinn/dailyd/vendor/ruby/1.8/gems/mysql2-0.2.18 for     inspection.
Results logged to /Users/royzinn/dailyd/vendor/ruby/1.8/gems/mysql2-0.2.18/ext/mysql2/gem_make.out

在此之前,我有一条消息说宝石是为MySQL 5.5.20版本而构建的,而且我已经激活了其他(更高级的)MySQL。

我用Homebrew“清理”了所有内容,试图重新安装,但似乎没有任何效果。

非常感谢任何帮助。 谢谢!

2 个答案:

答案 0 :(得分:1)

尝试删除此目录:

/Users/royzinn/dailyd/vendor/ruby/1.8/gems/mysql2-0.2.18  

如果这无助于删除rvm目录并重新安装

答案 1 :(得分:0)

首先,确保gem可以在安装时编译。

gem install mysql

如果你得到一个gem无法编译的错误,可能需要在Bundler可以找到它的地方安装MySQL - 即使它包含在OS X中。而不是将路径作为参数传递给Bundler,只需安装MySQL用Homebrew然后安装gem。

brew install mysql
gem install mysql2

最后,mysql2 gem的版本可能在Gemfile中过时了,需要更新。

bundle update mysql2