我正在尝试在新的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“清理”了所有内容,试图重新安装,但似乎没有任何效果。
非常感谢任何帮助。 谢谢!
答案 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