#mysql #ruby-on-rails #macos #sphinx #thinking-sphinx
#mysql #ruby-on-rails #macos #сфинкс #мышление-sphinx
Вопрос:
Я пытаюсь запустить gem ‘thinking-sphinx’ в моем проекте Ruby on Rails, но что-то было не так. Когда я запускаю любую команду поиска в любой модели, я вижу эту ошибку: ThinkingSphinx:: SphinxError (неизвестная ошибка MySQL).
Подробнее:
- macOS Mojave -версия 10.14.3
- mysql -версия 8.0.15 (установлена первой)
- Sphinx -v 2.2.11_2 (устанавливается через ‘brew install sphinx’)
- мышление-sphinx -v 4.2.0
- Rails -версия 5.2.2
Перед запуском команды поиска я запустил rails ts: index и rails ts: start
Что я делаю не так?
Ответ №1:
Sphinx версии 2.2 (и 3.0) несовместим с MySQL версии 8. Вы либо захотите понизить версию MySQL до 5.7, что можно сделать с помощью homebrew через brew install mysql@5.7
, а затем удалить и переустановить Sphinx, либо загрузите двоичные файлы для Sphinx v3.1.1 (первая версия, поддерживающая MySQL v8) с веб-сайта Sphinx (исходный код для этой версии в настоящее время недоступен, следовательно, он не может быть установлен через homebrew).
Комментарии:
1. Я установил mysql@5.7 , следуя инструкциям по ссылке gist.github.com/operatino/392614486ce4421063b9dece4dfe6c21 . Перед установкой я удалил mysql -v8. Но я вижу ту же ошибку. Возможно, это связано с тем, что при установке sphinx в консоли отображается
Installing sphinx dependency: mysql; Downloading https://homebrew.bintray.com/bottles/mysql-8.0.15.mojave.bottle.tar.gz
2. Теперь
mysql -V
возвращаетVer 14.14 Distrib 5.7.25, for osx10.14 (x86_64) using EditLine wrapper
3. Есть ли способ сообщить Homebrew не устанавливать последнюю версию (v8) MySQL в зависимости от Sphinx? В противном случае вы можете захотеть получить двоичные файлы 2.2.11 с веб-сайта Sphinx (или исходный код и скомпилировать его самостоятельно).
4. @Mr.DannyX как вы решаете эту проблему?
5. @pat как скомпилировать после загрузки?
Ответ №2:
Просто изменил mysql2 с gem "mysql2", '~> 0.4.6'
на gem "mysql2", '0.4.10'
версию, и у меня это сработало. Спасибо