2012-08-13 133 views
1

我無法在我的10.8(mac osx)機器上安裝mysql gem。我安裝了自制的MySQL通過無法在OSX上安裝gem mysql

$釀造安裝mysql

然後我做的:

$sudo gem install mysql 
Building native extensions. This could take a while... 
ERROR: Error installing mysql: 
    ERROR: Failed to build gem native extension. 

     /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/bin/ruby extconf.rb 
checking for mysql_ssl_set()... *** 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=/Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/bin/ruby 
    --with-mysql-config 
    --without-mysql-config 
/Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:461:in `try_link0' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:476:in `try_link' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:619:in `try_func' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:894:in `block in have_func' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:280:in `postpone' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for' 
    from /Users/marcinkrzyzanowski/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:893:in `have_func' 
    from extconf.rb:50:in `<main>' 


Gem files will remain installed in /Users/marcinkrzyzanowski/.rvm/gems/ruby-1.9.3-head/gems/mysql-2.8.1 for inspection. 
Results logged to /Users/marcinkrzyzanowski/.rvm/gems/ruby-1.9.3-head/gems/mysql-2.8.1/ext/mysql_api/gem_make.out 

任何知道該怎麼辦?

+0

您是否爲您的操作系統安裝了MySQL開發文件/庫? – 2012-08-13 15:39:36

回答

1

您將需要一個C編譯器來編譯一些本機擴展。 (這是一個紅寶石要求,在很多寶石使用C代碼的情況下,你會看到這個錯誤)

  • 最簡單的方法是安裝Xcode
  • 但是Xcode有很多額外的工具,如果你只想編譯器,你可能不需要。有一個項目(現在由Apple支持)只安裝名爲Commandline tools for Xcode的命令行工具(各種編譯器和東西)。安裝此(或Xcode),然後嘗試安裝寶石。
+0

我有它,有GCC等...問題是這個寶石什麼的。我已經找到這篇文章http://www.conandalton.net/2010/10/gem-install-mysql-should-be-easy-on-mac.html但是這個methot沒有爲我工作 – Marcin 2012-08-13 17:12:06

+0

啊!仔細看看你提供的鏈接。鏈接中的錯誤和你得到的錯誤是不同的。你能在這個文件中粘貼最後一行代碼嗎? '/ Users/marcinkrzyzanowski/.rvm/gems/ruby​​-1.9.3-head/gems/mysql-2.8.1/ext/mysql_api'或者更好的方法是將文件複製到pastebin或gist.github.com並共享鏈接。 – Kashyap 2012-08-13 18:51:12

0

我在後面嘗試從命令行安裝mysql時感到痛苦,所以我只是去了網站,並得到它。這裏是鏈接:http://dev.mysql.com/downloads

然後選擇dmg版本並安裝它。

這絕對是您確實希望收到我打賭的答案(在此處也是如此),但我無法做到這一點。

我在OS X 10.7.4

+0

我已經嘗試了下載mysql並安裝,但仍然陷入了非常相同的錯誤。 10.8 – Marcin 2012-08-13 17:11:06

+0

@Marcin對不起,我只是重試安裝,它沒有問題,但我在10.7.4如我所說 – Eugene 2012-08-13 17:16:02

2

你有MySQL的安裝升級到山獅之前?我有同樣的問題,這個固定:

brew uninstall mysql 
brew install mysql 
gem install mysql 
0

我有完全相同的問題,讓我們看看,如果我們可以通過它一起工作。我已經經歷了大量的Stack Overflow帖子,並沒有任何人提出建議。

  • 的XCode 4.6.3安裝
  • Mysql的從DMG安裝5.6.12 64
  • OSX 10.8.4
  • 紅寶石2.0.0-P195
  • 安裝到 /USR

Mysql的/ local/mysql

試圖安裝使用以下但沒有成功:

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include 

sudo find/-name mysql.h導致 /usr/local/mysql-5.6.12-osx10.7-x86_64/include/mysql.h

的/ usr /本地/ MySQL的是一個符號鏈接/usr/local/mysql-5.6.12-osx10.7-x86_64

我會一直努力解決這個問題,所以如果我遇到任何問題,我會發布它。