Как установить MySQL Gem на Mac OS X - PullRequest
9 голосов
/ 11 февраля 2011

Что мне нужно для установки MySQL Gem на Mac OS X?Я получаю сообщение об ошибке "не удалось создать собственные расширения".

Ответы [ 10 ]

20 голосов
/ 11 февраля 2011

Сначала установите MySQL, используя двоичный файл или Homebrew .

Тогда:

gem install mysql2

Или:

gem install ruby-mysql

Просто выберите один и все готово.


Редактировать

В случае, если вы обновили MySQL до версии 5.6.12 в OS X, mysql2 не сможет скомпилироваться. Решение состоит в том, чтобы понизить MySQL, как описано здесь: https://stackoverflow.com/a/17252887/45254


Edit2

Если вы не хотите устанавливать mysql (возможно, вы используете docker для управления своими службами), но хотите использовать mysql2 gem, вы можете вместо этого установить mysql-connector-c (с помощью homebrew).

13 голосов
/ 11 февраля 2011

Некоторое время назад я написал некоторые инструкции в моем блоге о том, как это сделать в 10.6, но я думаю, что то же самое в 10.5.

Я дошёл до этой команды:

ARCHFLAGS="-arch x86_64" gem install mysql -- \
  --with-mysql-config=/path/to/mysql_config

но вам нужно найти реальное значение для /path/to/mysql_config. В моем блоге есть несколько советов, но есть одна очень важная вещь: вы должны установить MySQL с заголовками. Официальный установщик .pkg от MySQL не является IIRC. Лучше всего установить MySQL с Homebrew (в посте я использую примеры из установки MacPorts, но это потому, что Homebrew не был зрелым, когда я его писал).

Если вы установите MySQL с помощью Homebrew, mysql_config будет расположен по адресу /usr/local/bin/mysql_config, а если вы установите его с MacPorts, он будет по /opt/local/lib/mysql5/bin/mysql_config.

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

9 голосов
/ 10 ноября 2013

, если у вас уже есть сервер MySQL, работающий в другом месте в сети, и вы все еще хотите установить гем без необходимости установки MySQL, попробуйте следующее

brew install mysql-connector-c

с последующим

gem install mysql
8 голосов
/ 21 ноября 2011

Я использую Mac OS X Lion с Homebrew.

Правильная команда для установки гема ruby:…

gem install mysql -- \ --with-mysql-config=/usr/local/bin/mysql_config 
6 голосов
/ 27 ноября 2012

Я использую Mac OS X Mountain Lion и установил MySQL с DMG.

gem install do_mysql -- \ --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include

и

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Это работает для меня;)

4 голосов
/ 03 января 2014

Для меня это было самым простым:

brew install mysql
gem install mysql

Brew - менеджер пакетов для Mac OS, должен иметь.Использование его для установки mysql сначала приносит все, что отсутствует в команде gem.

2 голосов
/ 28 апреля 2015

Я использую Mac OS X 10.10 (Yosemite), и мне работало с командой ниже:

gem install mysql2 -- \ --with-mysql-config=/usr/local/mysql/bin/mysql_config
1 голос
/ 11 января 2019

Я установил MySQL вместе с Homebrew, и мне пришлось использовать это, чтобы наконец-то обновить гем:

gem install mysql2 -- --with-mysql-dir=/usr/local/opt/mysql/
1 голос
/ 09 ноября 2011

Я устанавливаю MySQL с DWG. Mysql_config будет расположен в /usr/local/mysql/bin/mysql_config

gem install mysql -- \ --with mysql-config=/usr/local/mysql/bin/mysql_config 
0 голосов
/ 29 ноября 2018

Я сталкивался с этой проблемой при настройке гема MySQL на MacOs Mojave. Это помогло мне

1 Убедитесь, что инструменты командной строки Xcode установлены. xcode-select --install

  1. Для меня сборка все еще не удалась с отсутствующими заголовочными файлами, которые вы должны установить open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Эта ссылка указывала в правильном направлении. Невозможно скомпилировать программу C на Mac после обновления до Mojave

...