Установка gem mysql2 для Ruby on Rails с Mac OSX 10.6
У меня возникла проблема с установкой gem mysql2.
Это происходит, когда я делаю gem install mysql2
:
Marks-MacBook-Pro:~ Mark$ gem install mysql2
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/Users/useruser/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** 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
--without-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/useruser/.rvm/rubies/ruby-1.9.2-p136/bin/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib
Gem files will remain installed in /Users/useruser/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6 for inspection.
Results logged to /Users/useruser/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6/ext/mysql2/gem_make.out
Также, когда я использую rails server
, это появляется:
Could not find gem 'mysql2 (>= 0, runtime)' in any of the gem sources listed in your Gemfile.
Ответы
Ответ 1
Кажется, что он не может найти библиотеку MySQL. Установили ли вы MySQL?
Попробуйте установить его через homebrew:
brew install mysql
или установите его через macports или fink или что угодно, а затем повторите попытку с помощью
gem install mysql2
Ответ 2
Эта команда работала для меня:
gem install mysql2 -- --srcdir=/usr/local/mysql/include
Ответ 3
Следующая команда работала для меня успешно.
x.x.x = версия mysql2, которую вы хотите установить.
gem install mysql2 -v 'x.x.x' -- --srcdir=/usr/local/mysql/include
Ответ 4
Мне не нужен MySQL в Mac OS X, потому что у меня установлен MySQL на коробке Vagrant. Поэтому я только что установил mysql-connector-c.
brew install mysql-connector-c
gem install mysql2
Ответ 5
Следующие работали для меня
brew install mysql
brew install mysql-connector-c
gem install mysql2
Ответ 6
Если вы использовали homebrew для установки mysql, brew install mysql
, это сработало для меня:
gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config
x.x.x = версия драгоценного камня mysql2, которую вы хотите установить
y.y.y = версия mysql, которую вы установили ls /usr/local/Cellar/mysql
, чтобы найти ее.
чтобы получить версию mysql
brew info mysql
mysql: stable 5.7.19 (bottled)
...
/usr/local/Cellar/mysql/5.7.19 (322 files, 233MB) *
...
то если вы хотите установить с пакетом:
bundle config build.mysql --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config
Ответ 7
Вам нужно указать дополнительные переменные среды для установки этого жемчужина в 64-битной архитектуре для Mac OSX 10.6:
env ARCHFLAGS="-arch x86_64" gem install mysql2
Если вы используете rvm, вы можете добавить это как свой вариант по умолчанию в файл ~/.rvmrc:
rvm_archflags="-arch x86_64"
Ответ 8
У меня была такая же проблема и ошибки, которые пытались установить mysql2. Я думал, что моя версия Mamp MySQL будет работать нормально и провела несколько часов, играя с путями, чтобы заставить работать, - не успех.
Наконец наткнулся на это сообщение от ALoR и установил новую версию через homebrew - однако - обязательно следуйте ВСЕ инструкциям от доморощенного! Я пропустил несколько шагов и потратил впустую еще один час, отслеживая эту проблему - вот эти инструкции:
fooobar.com/questions/32438/...
После того, как MySQL был успешно установлен, я побежал: sudo gem install mysql2
и работал как шарм.
Надеюсь, это поможет кому-то потратить несколько часов, потому что они пренебрегли чтением документов (ошибка newb).
Ответ 9
Убедитесь, что openssl установлен на Mac через Homebrew.
brew install openssl
Install mysql2 gem.
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/i
Ответ 10
Я знаю, что на этот вопрос уже отвечали несколько раз, но вот что работает для меня: 20 мая 2019 года OSX Mojave 10.14.4 MySQL Ver 14.14 Distrib 5.7.24, для osx10.14 (x86_64) с использованием оболочки EditLine ruby 2.5.0p0 (2017) -12-25 редакция 61468) [x86_64-darwin17] Rails 5.2.1
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql\@5.7/5.7.24/bin/mysql_config
замените "/usr/local/Cellar/[email protected]/5.7.24/bin/mysql_config" на любой текущий действительный путь с "/usr/local/Cellar/mysql"
Надеюсь это поможет!
Ответ 11
Ответ @CrypTech Studios был единственным, что сработало для меня с установкой пакета.