Что мне нужно для установки mysql gem в Mac OS X? Я получаю сообщение об ошибке «не удалось создать собственные расширения».
Как установить MySQL gem на Mac OS X
Ответы (10)
Сначала установите MySQL, используя двоичный код или Homebrew.
Потом:
gem install mysql2
Or:
gem install ruby-mysql
Просто выберите один, и все готово.
Изменить
Если вы обновили MySQL до версии 5.6.12 в OS X, mysql2 не сможет скомпилироваться. Решение состоит в том, чтобы понизить версию MySQL, как описано здесь: https://stackoverflow.com/a/17252887/45254
Edit2
Если вы не хотите, чтобы mysql был установлен (возможно, вы используете докер для управления своими службами), но хотите использовать mysql2 gem, вы можете вместо этого установить mysql-connector-c
(используя homebrew).
caching_sha2_password
- это механизм кэширования по умолчанию. если клиентская библиотека не поддерживает caching_sha2_password, вы можете изменить механизм аутентификации mysql на sha256_password, например stackoverflow.com/questions/49948350/phpmyadmin-on-mysql-8-0
- person tessie; 29.11.2018
Некоторое время назад я написал некоторые инструкции по мой блог о том, как это сделать в 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
.
ARCHFLAGS
.
- person Graeme; 30.05.2020
если у вас уже есть сервер MySQL, работающий в другом месте в сети, и вы все равно хотите установить гем без установки MySQL, попробуйте следующее
brew install mysql-connector-c
с последующим
gem install mysql
Я использую Mac OS X Lion с Homebrew.
Правильная команда для установки рубинового драгоценного камня:
gem install mysql -- \ --with-mysql-config=/usr/local/bin/mysql_config
Я использую 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
Это работает для меня;)
Для меня это было проще всего:
brew install mysql
gem install mysql
Brew - это менеджер пакетов для Mac OS, обязательно. Использование его для установки mysql сначала приносит все, что отсутствует в команде gem.
Я использую Mac OS X 10.10 (Yosemite), и я работал с приведенной ниже командой:
gem install mysql2 -- \ --with-mysql-config=/usr/local/mysql/bin/mysql_config
Я устанавливаю MySQL с DWG, mysql_config будет находиться по адресу /usr/local/mysql/bin/mysql_config
gem install mysql -- \ --with mysql-config=/usr/local/mysql/bin/mysql_config
Я установил MySQL с Homebrew, и мне пришлось использовать это, чтобы наконец-то обновить гем:
gem install mysql2 -- --with-mysql-dir=/usr/local/opt/mysql/
Я столкнулся с этой проблемой при настройке гема MySQL на MacOs Mojave. У меня это сработало.
1 Убедитесь, что установлены инструменты командной строки Xcode. xcode-select --install
- Для меня сборка все еще терпела неудачу с отсутствием некоторых файлов заголовков, которые вам необходимо установить открытым /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
Эта ссылка указала в правильном направлении. Невозможно скомпилировать программу C на Mac после обновления до Mojave