2011-01-12 111 views
0

我想將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://stackoverflow.com/questions/41134/how-do-i-install-the-mysql-ruby-gem-under-os-x-10-5-4 – Mark 2011-01-12 15:32:56

回答

0

你安裝了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

1

正如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