无法在OSX上安装gem mysql

问题描述:

我无法在我的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

您将需要一个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

我在后面尝试从命令行安装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

你有MySQL的安装升级到山狮之前?我有同样的问题,这个固定:

brew uninstall mysql 
brew install mysql 
gem install mysql 

我有完全相同的问题,让我们看看,如果我们可以通过它一起工作。我已经经历了大量的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

我会一直努力解决这个问题,所以如果我遇到任何问题,我会发布它。