2017-01-02 4 views
3

I tried every solution similar to the question:ОШИБКА: Ошибка при установке mysql2: ОШИБКА: Не удалось создать собственное расширение gem. на Mac 10,12

Недавно я переехал из убунта на Mac, и я пытаюсь установить MySQL гем на Sierra и после того, как я установил Ruby, Rails, Mysql,

также набирает brew install mysql и работал загрузите mysql, но не драгоценный камень, поэтому мой вопрос не похож.

я напечатал этот mysql --version

и я получил mysql Ver 14.14 Distrib 5.7.16, for osx10.12 (x86_64) using EditLine wrapper

Я попытался установить mysql2 камень для рельсов, чтобы построить новое приложение

Я набранный этот sudo gem install mysql2 и получил эту ошибку:

Password: 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
ERROR: Failed to build gem native extension. 

current directory: /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/mysql2-0.4.5/ext/mysql2 
/Users/mohammed.elias/.rbenv/versions/2.4.0/bin/ruby -r ./siteconf20170102-2045-18gcs95.rb extconf.rb 
checking for rb_absint_size()... yes 
checking for rb_absint_singlebit_p()... yes 
checking for ruby/thread.h... yes 
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes 
checking for rb_thread_blocking_region()... no 
checking for rb_wait_for_single_fd()... yes 
checking for rb_hash_dup()... yes 
checking for rb_intern3()... yes 
checking for rb_big_cmp()... yes 
----- 
Using mysql_config at /usr/local/bin/mysql_config 
----- 
checking for mysql.h... yes 
checking for SSL_MODE_DISABLED in mysql.h... yes 
checking for SSL_MODE_PREFERRED in mysql.h... yes 
checking for SSL_MODE_REQUIRED in mysql.h... yes 
checking for SSL_MODE_VERIFY_CA in mysql.h... yes 
checking for SSL_MODE_VERIFY_IDENTITY in mysql.h... yes 
checking for errmsg.h... yes 
checking for mysqld_error.h... yes 
----- 
Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load 
----- 
----- 
Setting libpath to /usr/local/Cellar/mysql/5.7.16/lib 
----- 
creating Makefile 

To see why this extension failed to compile, please check the mkmf.log which can be found here: 

    /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0-static/mysql2-0.4.5/mkmf.log 

current directory:  /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/mysql2-0.4.5/ext/mysql2 
make "DESTDIR=" clean 

current directory:  /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/mysql2-0.4.5/ext/mysql2 
make "DESTDIR=" 
compiling client.c 
compiling infile.c 
compiling mysql2_ext.c 
compiling result.c 
compiling statement.c 
linking shared-object mysql2/mysql2.bundle 
ld: library not found for -lssl 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [mysql2.bundle] Error 1 

make failed, exit code 2 

Gem files will remain installed in  /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/mysq l2-0.4.5 for inspection. 
Results logged to  /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0-static/mysql2-0.4.5/gem_make.out 
+0

Возможный дубликат [Ошибка при установке mysql2: Не удалось создать собственное расширение gem] (http://stackoverflow.com/questions/3608287/error-installing-mysql2-failed-to-build-gem-native-extension) – Ilya

+1

Из трасс мы видим, что система сборки находит заголовки mysql, но не работает при загрузке ssl-файлов (из OpenSSL). Вы можете попробовать решение, предложенное в [issue on github] (https://github.com/brianmario/mysql2/issues/795) по этой теме. Если это не удастся, вы можете * преуспеть, выполнив «brew install openssl». –

+0

Для чего это стоит, я только что установил жемчужину на новой установке Ruby 2.4.0. Что находится в журнале ошибок '/Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0-static/mysql2-0.4. 5/mkmf.log'? – cobaltsoda

ответ

1

Если бы такая же проблема при установке MySQL2 gem на новый Macbook Pro Sierra.

Вы должны изменить переменные окружения, чтобы включать в себя следующее (просто заменить 0.0.00 с желаемой версией mysql2 самоцвета:

gem install mysql2 -v '0.0.00' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include 

Кроме того, ваш $PATH должен быть установлен с MySQL с профилем Баш , список настроек, которые будут запускаться каждый раз при запуске bash. Профиль вашего bash можно найти в вашем домашнем каталоге под именем файла .bash_profile. Если он не создан, вы можете создать текстовый файл, используя команду nano .bash_profile (вы должны быть в ваш домашний каталог (~)). Добавьте это в свой профиль bash:

export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 

Эта строка добавит указанные выше каталоги к вашему пути, включая путь mysql. Убедитесь, что вы перезагрузили терминал, поскольку .bash_profile запускается только при первоначальной загрузке терминала.

1

Запуск xcode-select --install по какой-то причине решил проблему для меня.

Смежные вопросы

 Смежные вопросы