gem install mysql失败

我按照http://geryit.com/blog/2011/01/installing-mysql-with-rails-on-mac-os-x-snow-leopard/上的说明进行操作,包括通过macport安装ruby。

每当我执行gem install mysql时 ,我都会收到以下错误

bash-3.2# gem install mysql Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /opt/local/bin/ruby extconf.rb checking for mysql_ssl_set()... no checking for rb_str_set_len()... no checking for rb_thread_start_timer()... no checking for mysql.h... no checking for mysql/mysql.h... no *** 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 --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=/opt/local/bin/ruby --with-mysql-config --without-mysql-config Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. Results logged to /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out 

我该如何解决这个问题? 我已经使用包文件(.pkg)安装了32位mysql,而且,我对ruby非常新…

更新4/26/11美国东部时间下午5:11安装RVM并更新ruby到1.9.2此外,我查看了评论中发布的链接。 我确实locate mysql_config ,结果是

 /usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config /usr/local/mysql-5.1.56-osx10.6-x86/man/man1/mysql_config.1 

因此,我尝试了gem install mysql - -with-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config但它仍然无法正常工作…我确实得到了新的错误信息然而..

 /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError) You have to install development tools first. from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:440:in `try_link' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:552:in `try_func' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_func' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:276:in `postpone' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for' from /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:796:in `have_func' from extconf.rb:50:in `' Gem files will remain installed in /Users/kyle/.rvm/rubies/ruby-1.9.2-p180/bin/th-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config/gems/mysql-2.8.1 for inspection. 

非常希望感谢那些评论过的人…并且真的很感激如果能给予更多的帮助…..一直试图让安装了2天的darn mysql …

目前尚未安装程序’mysql_config’。 您可以输入以下命令安装它:

 $ sudo apt-get install libmysqlclient-dev $ bundle install bundle show [mysql2] # To find the location. 

试试这个:

 gem install mysql -- --with-mysql-config=/usr/local/mysql-5.1.56-osx10.6-x86/bin/mysql_config 

(注意额外的破折号)

如果这不起作用,我强烈建议使用MySQL上面提到的自制安装。 你可以在这里阅读关于汤到坚果的安装: 在Mac OS X 10.6上卸载Ruby on Rails

我在Cent OS中遇到了同样的问题,但通过安装mysql-devel解决了这个问题

  yum install mysql mysql-server mysql-devel 

通过卸载我的系统上的32位MySQL来解决问题..并安装了5.1.56 64位。

希望这对那些和我有同样问题的人有所帮助..

基于这个答案我最后编辑了我的/usr/local/Cellar/mysql/5.6.12/bin/mysql_config文件来删除-Wno-null-conversion -Wno-unused-private-field ,这就是mkmf的错误.log抱怨。

我的设置是Mac OSX,使用RVM安装Ruby,使用自制软件安装MySQL。

如果您愿意,可以尝试使用自制软件安装mysql的完全不同的方法:

https://github.com/mxcl/homebrew

然后尝试基于此安装gem。

如果你正在使用bundler,你可以使用bundle config为你的gems设置构建参数,这会将你的构建选项保存到~/.bundle/config ,这样下次你需要构建你的gem时,配置选项已经是设置,例如:

 bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config 

捆绑配置手册页