MySQL Install: ERROR: не удалось создать собственное расширение для gem - PullRequest
72 голосов
/ 30 января 2010

Я пытаюсь установить MySQL до последней версии из-за неправильной установки где-то вдоль линии. Я запускаю команду gem install mysql и получаю следующее:

Создание собственных расширений. это может занять некоторое время ... ОШИБКА: ошибка установка mysql: ОШИБКА: не удалось Собственное расширение build gem.

/ System / Library / Frameworks / Ruby.framework / Версии / 1,8 / USR / бен / рубин extconf.rb extconf.rb: 4: предупреждение: Небезопасный доступный для записи мир dir / usr / bin в PATH, режим 040777 extconf.rb: 4: предупреждение: небезопасный мир, доступный для записи dir / usr / bin в PATH, режим 040777 extconf.rb: 7: предупреждение: небезопасный мир доступный для записи dir / usr / bin в режиме PATH, режим 040777 mkmf.rb не может найти заголовочные файлы для рубина в /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem файлы останутся установленными в /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 для проверки. Результаты вошли в /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

Я искал и перепробовал множество вещей, от установки конкретных версий до попытки переустановить ruby ​​без какой-либо удачи.

Есть идеи, где я могу ошибаться?

Я пытаюсь установить MySQL до последней версии из-за неправильной установки где-то вдоль линии. Я запускаю команду gem install mysql и получаю следующее:

Создание собственных расширений. это может занять некоторое время ... ОШИБКА: ошибка установка mysql: ОШИБКА: не удалось Собственное расширение build gem.

/ System / Library / Frameworks / Ruby.framework / Версии / 1,8 / USR / бен / рубин extconf.rb extconf.rb: 4: предупреждение: Небезопасный доступный для записи мир dir / usr / bin в PATH, режим 040777 extconf.rb: 4: предупреждение: небезопасный мир записываемый реж / usr / bin в PATH, режим 040777 extconf.rb: 7: предупреждение: небезопасный мир доступный для записи dir / usr / bin в режиме PATH, режим 040777 mkmf.rb не может найти заголовочные файлы для рубина в /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem файлы останутся установленными в /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 для проверки. Результаты вошли в /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

Я искал и перепробовал множество вещей, от установки конкретных версий до попытки переустановить ruby ​​без какой-либо удачи.

Есть идеи, где я могу ошибаться?

РЕДАКТИРОВАТЬ : я установил XCode с DVD-диска Snow Leopard, и ошибка немного изменилась:

Создание собственных расширений. Это может занять некоторое время ... ОШИБКА: Ошибка установки mysql: ОШИБКА: не удалось создать собственное расширение для гема.

/ Система / Библиотека / Каркасы / Ruby.framework / Версии / 1.8 / usr / bin / ruby ​​extconf.rb extconf.rb: 4: предупреждение: небезопасный доступный для записи мир dir / usr / bin в PATH, режим 040777 extconf.rb: 4: предупреждение: небезопасный доступный для записи мир dir / usr / bin в PATH, режим 040777 extconf.rb: 7: предупреждение: небезопасный доступный для записи мир dir / usr / bin в PATH, режим 040777 extconf.rb: 17: предупреждение: небезопасный доступный для записи мир dir / usr / bin в PATH, режим 040777 проверка mysql_query () в -lmysqlclient ... нет проверка на main () в -lm ... да проверка mysql_query () в -lmysqlclient ... нет проверка на main () в -lz ... да проверка mysql_query () в -lmysqlclient ... нет проверка на main () в -lsocket ... нет проверка mysql_query () в -lmysqlclient ... нет проверка на main () в -lnsl ... нет проверка mysql_query () в -lmysqlclient ... нет проверка на main () в -lmygcc ... нет проверка mysql_query () в -lmysqlclient ... нет * extconf.rb не удалось * Не удалось создать Makefile по какой-то причине, вероятно, из-за отсутствия необходимые библиотеки и / или заголовки. Проверьте файл mkmf.log для более подробности. Вам могут потребоваться параметры конфигурации.

Предоставлены параметры конфигурации: --with-неавтоматического реж--without-неавтоматического реж --with-неавтоматического включают --without-неавтоматического включают = $ {Блокировщик реж} / включить --with-неавтоматического Пб --without-неавтоматического Пб = $ {неавтоматического реж} / Lib --with-макияж прог --without-макияж прог --srcdir =. --curdir --ruby = / System / Library / Frameworks / Ruby.framework / Версии / 1,8 / USR / бен / рубин --with-MySQL-конфигурации --without-MySQL-конфигурации --with-MySQL-Dir --without-MySQL-Dir --with-MySQL-включают --without-MySQL-включает = $ {MySQL-DIR} / включить --with-MySQL Пб --without-MySQL-Lib = $ {MySQL-Dir} / Библиотека --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-файлы останутся установленными в /Library/Ruby/Gems/1.8/gems/mysql-2.8.1 для проверки. Результаты заносятся в /Library/Ruby/Gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out

выполнение «which mysql» в командной строке ничего не возвращает, что означает, что он не распознает его. Я также установил параметр системных настроек MySQL и не могу остановить запуск MySQL. Теперь я полностью застрял, что делать!

РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ

Я только что полностью переустановил MySQL, используя это руководство http://hivelogic.com/articles/installing-mysql-on-mac-os-x

К сожалению, это тоже не сработало, я все равно получаю те же ошибки. Я даже не могу выполнить mysql -uroot в командной строке, я получаю ошибку:

ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)

Так что я думаю, что все перепробовал.

** решаемый *

Извините, ребята, причина этого не работала из-за путей MySQL. Я написал об этом здесь: http://www.kieransenior.co.uk/2010/02/mysql-cant-connect-using-ruby-on-rails-mac-os-x-snow-leopard/

Ответы [ 13 ]

159 голосов
/ 03 августа 2011

В системах Debian (или Ubuntu) просто установите пакет libmysqlclient-dev, используя:

sudo apt-get install libmysqlclient-dev

и затем:

gem install mysql

Он будет установлен без ошибок.

61 голосов
/ 03 февраля 2010

Установка MySQL Gem на OSX

в терминале. Сначала выполните «locat mysql_config» , а затем замените путь в следующей команде на то, где этот файл .

$ sudo gem install mysql -- —–with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions. This could take a while…
Successfully installed mysql-2.7
1 gem installed
17 голосов
/ 03 февраля 2010

Прежде всего вам необходимо различать MySQL как сервер, MySQL как клиент и привязки Ruby к MySQL.

Я не знаком с Mac, но для * nix OS вам нужно установить MySQL через менеджер пакетов. Чтобы установить привязки Ruby с

gem install mysql

вам нужны заголовки разработки ruby ​​(в Ubuntu это пакет ruby-dev) и заголовки разработки MySQL-Client (в настоящее время libmysqlclient16-dev в Ubuntu). Я не знаю, называются ли они по-разному на Mac, но после того, как вы их установили, привязки Ruby должны быть установлены без ошибок.

9 голосов
/ 02 ноября 2011

Количество людей, которые нашли этот пост полезным.

Кроме того, мне нужно было сначала набрать это:

yum install mysql-devel

и затем:

gem install mysql 

Для некоторых людей вам может потребоваться набрать:

gem install mysql -- --with-mysql-config=/usr/local/mysql/mysql_config
5 голосов
/ 03 января 2013

на OSX mountain Lion: если у вас установлено brew, тогда brew install mysql и следуйте инструкциям instructions при создании тестовой базы данных с mysql на вашем компьютере. Вы не должны пройти весь путь, мне не нужно было После того, как я это сделал, я смог установить и установить грабли.

3 голосов
/ 05 ноября 2015

Для разрешения

Gem :: Ext :: BuildError: ОШИБКА: не удалось создать собственное расширение для gem ошибка для mysql2,

Я думаю, libmysql-ruby изменилось с рубиново-MySQL

Просто попробуйте с помощью следующих команд,

sudo apt-get install ruby-mysql

и затем

sudo apt-get install libmysqlclient-dev
2 голосов
/ 15 июня 2012

Я также забыл на самом деле установить MySQL в первую очередь. Следование этому руководству очень помогло.

http://www.djangoapp.com/blog/2011/07/24/installation-of-mysql-server-on-mac-os-x-lion/

А также добавление этих строк в мой .profile:

export PATH="/usr/local/mysql/bin:$PATH"
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
0 голосов
/ 07 октября 2018

Ваша ОС Ubuntu должна установить библиотеку для клиента mysql sudo apt-get install libmysqlclient-dev

После этого просто установите bundle или bundle install

0 голосов
/ 22 декабря 2014
yum -y install gcc mysql-devel ruby-devel rubygems
gem install mysql2
0 голосов
/ 01 февраля 2013

Если вы используете сервер Percona Mysql

$ yum установить Percona-Server-devel-55

$ gem install mysql

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