Ошибка установки gem mysql2 на ruby1.9.3 - PullRequest
0 голосов
/ 08 ноября 2018

Только что обновил до macOS Mojave, переустановил mysql через brew и скачал последнюю версию xcode 9.2. При попытке настроить среду разработки для старого проекта rails сбой пакета при установке gem mysql2. В начале я думал, что это потому, что последняя версия mysql2 не совместима с ruby ​​1.9, поэтому я попытался:

gem install mysql2 -v '0.3.17'

и я получил:

/ Users / me / .rvm / rubies / ruby-1.9.3-p125 / bin / ruby ​​extconf.rb проверка для ruby ​​/ thread.h ... * extconf.rb завершилась неудачно * Не удалось создать Makefile по какой-то причине, вероятно, из-за отсутствия необходимые библиотеки и / или заголовки. Проверьте файл mkmf.log для более подробности. Вам могут потребоваться параметры конфигурации.

Предоставлены параметры конфигурации: --with-неавтоматического реж --with-неавтоматического включают --without-неавтоматического включают = $ {Блокировщик реж} / включить --with-неавтоматического Пб --without-неавтоматического Пб = $ {неавтоматического реж} / Lib --with-макияж прог --without-макияж прог --srcdir =. --curdir --ruby = / Users / мне / .rvm / рубины / рубиново-1.9.3-P125 / бен / рубин /Users/me/.rvm/rubies/ruby-1.9.3-p125/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/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:506:in try_cpp ' из /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:931:in block in have_header' from /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:790:in блок в check_for ' из /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in block (2 levels) in postpone' from /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in open ' из /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in block in postpone' from /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in open ' из /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:280:in postpone' from /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:789:in check_for ' из /Users/me/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:930:in have_header' from extconf.rb:9:in '

копия из /Users/me/.rvm/gems/ruby-1.9.3-p125@mailcatcher/gems/mysql2-0.2.18/ext/mysql2/mkmf.log:

"/ usr / bin / gcc-4.2 -o conftest -I / Пользователи / me / .rvm / rubies / ruby-1.9.3-p125 / include / ruby-1.9.1 / x86_64-darwin10.8.0 -I /Users/me/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/ruby/backward -I / Users / me / .rvm / rubies / ruby-1.9.3-p125 / include /ruby-1.9.1 -I. -I / Users / me / .rvm / usr / include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O3 -ggdb -Wextra -Wno-unused-параметр -Wno-круглые скобки -Wno-long-long -Wno -missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-Statement -Wshorten-64-to-32 -Понятное-объявление-функции -fno-common -pipe conftest.c -L. -L / Users /me/.rvm/rubies/ruby-1.9.3-p125/lib -L / Users / me / .rvm / usr / lib -L. -L / usr / local / lib -lruby.1.9.1 -lpthread - ldl -lobjc " проверенная программа была: / * начало / 1: #include "ruby.h" 2: 3: int main () {return 0;} / конец * /

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Перекрестная ссылка моего ответа почти на этот же вопрос. Я думаю, что это может быть просто не найти правильный путь конфигурации

sudo gem install mysql2 -- --with-mysql-config=/usr/local/bin/mysql_config

Смотрите ответ здесь

редактировать: форматирование

0 голосов
/ 09 ноября 2018

Звучит так, как будто вам не хватает инструментов командной строки XCode: xcode-select --install

Или пакеты MySQL: Если у вас еще нет домашнего приготовления: $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Затем установить MySQL: brew install mysql

Я не могу вспомнить, что решало эту проблему для меня в прошлом, но я уверен, что это был один из них.

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