尝试在os上安装mysql gem时出错x

问题描述:

我想将mysql添加到我的Gemfile并在运行bundle安装时进行安装。我收到以下错误。尝试在os上安装mysql gem时出错x

Installing mysql (2.8.1) with native extensions /Library/Ruby/Site/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) 

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb 
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h 

我也试过在gem mysql之前运行sudo。关于如何解决问题的任何想法都会很棒。

感谢, 马修

+0

http://*.com/questions/41134/how-do-i-install-the-mysql-ruby-gem-under-os-x-10-5-4 – Mark 2011-01-12 15:32:56

你安装了OS X的开发工具?如果您缺少XCode,则可能没有关键组件,例如Ruby和MySQL的头文件。

如果您使用的是默认系统Ruby,那么使用MacPortsRVM来管理您的安装可能会很麻烦。就我个人而言,我更喜欢MacPorts,因为它也有助于安装可能需要的各种系统库。

以下是关于如何使用MacPorts进行安装的example。它以前被称为达尔文港口,但原则是一样的。

+0

我用自制和我运行红宝石1.8.7和轨道3.0.2。我确实安装了开发工具。我想我最后一次更新的时间是在2010年11月左右。 – mattwallace 2011-01-12 17:03:28

正如Tadman提到的,您需要安装开发人员工具才能正常工作。但是,错误信息告诉我们你错过了一些mysql头文件。我不知道你是否正在使用一个64位(我假设吗?)系统32位。在64位的情况下,你可以这样做:

下载mysql。 http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.51-osx10.6-x86_64.dmg/from/http://mirror.leaseweb.com/mysql/

然后安装带正确绑定的gem。我从来没有用RVM试过它,所以你应该!

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 
+0

我想你会得到一个错误的体系结构链接器错误,而不是一个缺少的头文件,但你可能是正确的。缺少某些东西。 – tadman 2011-01-12 21:31:26