У меня возникают некоторые проблемы при попытке установить mysql2
гем для Rails. Когда я пытаюсь установить его, запустив bundle install
или gem install mysql2
он выдает следующую ошибку:
Ошибка установки mysql2: ОШИБКА: не удалось создать собственное расширение gem.
Как я могу это исправить и успешно установить mysql2
?
Ответы:
В Ubuntu / Debian и других дистрибутивах, использующих aptitude:
Пакет
libmysql-ruby
был снят с производства и замененruby-mysql
. Вот где я нашел решение.Если приведенная выше команда не работает из-за
libmysql-ruby
невозможности найти ее, этого должно быть достаточно:В Red Hat / CentOS и других дистрибутивах, использующих yum:
В Mac OS X с Homebrew :
источник
libmysqlclient-dev
было достаточно.Я на Mac и использую homebrew для установки программ с открытым исходным кодом. Мне пришлось установить инструменты Mac Dev, чтобы установить homebrew, но после этого все было просто:
установить MySQL. С тех пор у меня не было проблемы с самоцветами mysql.
источник
brew link mysql --force
.Вот решение для пользователей Windows , надеюсь, это поможет!
Использование MySQL с Rails 3 в Windows
Установите railsinstaller -> www.railsinstaller.org (я установил его в c: \ Rails)
Установите MySQL (я использовал MySQL 5.5) -> dev.mysql.com/downloads/installer/
Теперь вы сможете использовать приложение Rails с MySQL, если вы не уверены, как создать приложение Rails 3 с MySQL, читайте дальше ...
---
Запустите приложение Rails 3 с MySQL --- Откройте командную строку (не Git Bash) -> start / cmd
Перейдите в папку (c: \ Sites)
Создайте новое приложение rails
Удалите файл c: \ Sites \ world \ public \ index.html
Отредактируйте файл c: \ Sites \ world \ config \ rout.rb,
добавьте эту строку -> root: to => 'towns # index'
Открыть командную строку (генерировать представления и контроллеры)
Отредактируйте файл c: \ Sites \ world \ app \ models \ city.rb, чтобы он выглядел следующим образом
Отредактируйте файл c: \ Sites \ world \ config \ database.yml, чтобы он выглядел следующим образом
добавить в gemfile
Откройте командную строку Windows cmd, а не Git Bash (запустите ваше приложение!)
Перейдите в папку вашего приложения (c: \ Sites \ world)
Откройте ваш браузер здесь -> http: // localhost: 3000
--- Получите приложение Rails 3, работающее с MySQL ---
источник
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
в кавычках, которые мои `` были удалены. СпасибоУ меня есть несколько компьютеров, 32- и 64-битный процессор, они работают на Ubuntu Linux, Maverick (10.10).
У меня была та же проблема, и для меня,
sudo apt-get install libmysql-ruby libmysqlclient-dev
сделал работу !!!источник
Для MacOS Mojave :
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
источник
Еще один способ для пользователей MacOS
Если вы использовали «brew» для установки mysql:
xxx = версия mysql2 gem, которую вы хотите установить
yyy = версия mysql, которую вы установили,
ls /usr/local/Cellar/mysql
чтобы найти ее.источник
Вы пытались использовать
указать расположение каталога thebase, а также путь к библиотекам MySQL, которые необходимы для завершения установки gem?
Источники: MySQL Gem Install ERROR: Не удалось создать собственное расширение gem. MySQL Forums :: Ruby :: Требуется помощь при установке привязки MySQL для Ruby.
источник
which mysql
и затем найдяlib
каталог оттуда.Если вы используете yum, попробуйте:
источник
Это решило мою проблему однажды в Windows:
источник
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Если у вас все еще проблемы ...
Попробуйте установить
источник
У меня была эта проблема на Windows 7. Это, очевидно, проблема несовместимости, и решение заключается в следующем:
Загрузите
libmySQL.dll
файл из более раннего инсталлятора InstantRails. Он доступен в репозитории InstantRails GitHub .Затем скопируйте этот файл в папку Ruby / bin.
Теперь вы готовы идти;)
источник
bundle install
.Я тоже получил эту ошибку. Решается установкой пакетов разработки. Я использую арку, и это было:
который установил:
но я думаю, что на самом деле нужно было сделать и GCC. Ошибка вывода говорит (на моей машине, среди прочего):
«Сначала нужно установить инструменты разработки».
Так что это было очевидное решение, и оно помогло.
источник
Вы должны установить некоторые зависимости
источник
В Debian Stretch пакет, который работал для меня, был default-libmysqlclient-dev
sudo apt-get update && apt-get install -y default-libmysqlclient-dev
источник
В моем случае это помогло:
Затем:
Результат:
Смотрите этот пост (ВНИМАНИЕ: японский язык внутри).
источник
На Ubuntu (18.04)
я смог решить эту проблему, выполнив следующее:
ссылка
источник
Я столкнулся с этой ошибкой на моем Mac и обнаружил, что мне нужно перейти с mysql 32bit на mysql 64 bit, чтобы эта ошибка исчезла. Я работал под управлением OSX 10.6 на Intel MacBook Pro с ruby 1.9.2 и rails3.0.0
Мне также нужно было установить xcode, чтобы получить такие утилиты Unix, как «make», необходимые для компиляции гема.
Как только это было сделано, я смог запустить gem install mysql и gem install mysql2 без ошибок.
источник
Для пользователя Windows: вы устанавливаете lib и включаете путь вашего mysql, например, если вы используете xampp, вы можете получить так:
источник
Решение работает только на Mac OS X
Если вы установили MySQL с помощью homebrew, для меня сработало удаление MySQL и установка MySQL Community Edition через веб-сайт MySQL ( https://www.mysql.com/). ).
После установки просто повторно введите команду
gem install mysql2
или, если необходимоsudo gem install mysql2
, если у вас возникают проблемы с отказом в разрешении.источник
Я получил гем, собранный на Mac OS X 10.6.6 от 1) Обеспечение установки пакета инструментов разработчика 2) Загрузка текущего пакета MySQL (5.5.8 в моем случае) из Source 3) Установка инструмента cmake с cmake.org 4 ) Следуя инструкциям в разделе 2.11 INSTALL-SOURCE из дистрибутивных файлов mysql 5)
sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
Gem собран успешно, но в документации есть две ошибки, на которые жалуются rdoc и ri. Но теперь, когда я пытаюсь потребовать «mysql2», я получаюЯ надеялся, что ошибка, которую я получу, заключается в том, что libmysqlclient.16.dylib не может быть найден, потому что мы выяснили это в другом посте (ищите install_name_tool).
В моем $ PATH есть / usr / local / mysql (там находятся мои исходные и встроенные файлы), поэтому я немного озадачен. Если у кого-то возникнут мысли, я вернусь после нескольких часов сна.
источник
Если ошибка по-прежнему возникает, следуйте инструкциям установки mysql2 gem на Rails 3 на -
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
где большинство пользователей смогли установить gem mysql2.
источник
После того, как вы исправите проблемы с mysql-dev, вам может потребоваться удалить неверную установку mysql2. Посмотрите внимательно на сообщения после установки $ bundle. Вам может понадобиться
Это устранит плохую установку mysql2, так что окончательная установка $ bundle может создать хорошую установку.
источник
скачайте правильную версию mysqllib.dll, а затем скопируйте ее в ruby bin. Перейдите по этой ссылке, чтобы установить mysql2 gem для неправильной клиентской библиотеки mysql
источник
Получил «Сначала нужно установить инструменты разработки». ошибка при попытке установить гем mysql2 после обновления до Mac OS X Mountain Lion . По всей видимости, это обновление удаляет компиляторы командной строки.
Исправить:
источник
Вы получаете эту проблему, потому что вы не установили MySql. Перед установкой mysql2 gem. Установите MySQL. После этого mysql2 gem будет установлен.
источник
Я просто хотел добавить этот ответ специально для пользователей Mac .
Мой сервер работал отлично, пока я не обновил свой xcode. Во время запуска моего сервера rails ошибка выглядела так
И было предложение установить mysql2 gem в конце сообщения об ошибке. Поэтому, когда я попытался установить его, я получил ошибку, как указано выше в этом вопросе. Я получил следующую ошибку
Так, как было предложено в этом посте, я попытался «brew install mysql», и это означало, что версия mysql уже установлена. Но было предупреждение перед тем, как сказать
Тогда я попробовал это
sudo xcodebuild -license
и напечатал «согласен» в конце. Вы должны быть root, чтобы согласиться с лицензией.После этого я снова попытался установить пакет, а затем все работает нормально, как обычно. [Даже из-за этого обновления xcode у меня тоже были проблемы с моей башней.]
источник
libmysql-ruby
был снят с производства и заменен. Новая команда:источник