Ошибка при попытке установить MySQL Gem на OS X - PullRequest
0 голосов
/ 12 января 2011

Я пытаюсь добавить mysql в мой Gemfile и установить его при запуске bundle install.Я получаю следующую ошибку.

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

Я также пытался запустить sudo перед gem mysql.Любые мысли о том, как решить проблему, были бы великолепны.

спасибо, Мэтью

Ответы [ 2 ]

1 голос
/ 12 января 2011

Как сказал Тадман, вам нужно установить инструменты разработчика, чтобы это работало.Но что сообщение об ошибке говорит нам, что вам не хватает некоторых заголовочных файлов mysql.Я не знаю, используете ли вы 64-битную (mac, я полагаю?) Систему, 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/

Затем установите драгоценный камень с правильными привязками.Я никогда не пробовал это с RVM, поэтому вы должны!

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
0 голосов
/ 12 января 2011

У вас установлены инструменты разработчика OS X? Если вам не хватает XCode, у вас могут не быть ключевых компонентов, таких как заголовочные файлы для Ruby и MySQL.

Если вы используете системный Ruby по умолчанию, возможно, стоит потратить усилия на использование MacPorts или RVM для управления установкой. Лично мне больше нравится MacPorts, поскольку он также помогает в установке различных системных библиотек, которые могут потребоваться.

Вот пример о том, как установить с помощью MacPorts. Ранее он назывался Darwin Ports, но принцип тот же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...