Как установить MySQL Ruby Gem в Ubuntu 9.10?

16327
Andrew

У меня проблема с установкой Ruby Gem для MySQL. Это команда, которую я запускаю:

sudo gem install mysql 

и это вывод, который я получаю:

Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension.  /usr/bin/ruby1.8 extconf.rb 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... yes 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=$/include --with-opt-lib --without-opt-lib=$/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby1.8 --with-mysql-config --without-mysql-config --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=$/include --with-mysql-lib --without-mysql-lib=$/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 /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out 

Что мне нужно сделать, чтобы это установить?

9

3 ответа на вопрос

27
Andrew

Благодаря этой теме я узнал, что причина, по которой он не устанавливается, заключается в

... путь, указывающий неправильный путь при компиляции пакета.

К счастью, решение очень простое:

sudo gem uninstall mysql sudo apt-get install libmysqlclient-dev -y sudo gem install mysql  

Примечание: я получил сообщение об ошибке, пытаясь удалить mysql, но это нормально, потому что он не был установлен в первую очередь. При установке gem mysql я получил сообщения, которые выглядели как ошибки: No definition for next_resultно это не ошибки. Это происходит при установке документации. Это просто сообщения о том, что для определенных функций нет доступной документации.

4
whitequark

Вам не нужен этот гем для использования MySQL в Ruby. В Debian / Ubuntu есть пакет, в котором уже есть тот же код, который уже скомпилирован и подготовлен. Просто введите sudo apt-get install libmysql-ruby.

4
stcorbett

На Ubuntu Hardy 8.04 я установил apt-get для работы с:

sudo apt-get install libmysqlclient15-dev -y