Как установить gem mysql2 в Ubuntu, когда я использую rails3 через rvm? - PullRequest
5 голосов
/ 09 июня 2011

Я пытаюсь разобраться в чрезвычайно сложном лабиринте, который имеет конфигурацию рельсов. До сих пор мне удалось настроить rvm в Ubuntu (по какой-то причине ruby ​​устарел в репозитории Ubuntu). Мне удалось создать проект рельсов. Я хочу, чтобы мой тестовый проект использовал mysql, а не mysqlite.

Когда я попробовал 'rake db: migrate', я получил ошибку: "!!! Отсутствует драгоценный камень mysql2. Добавьте его в свой Gemfile: gem 'mysql2'"

Когда я пытаюсь 'gem install mysql', я получаю сообщение об ошибке, сообщающее, что мне нужно указать параметры для команды установки. Однако список параметров огромен, и я не знаю, какие из них выбрать.

Как я могу получить rails3 через rvm, работающий на Ubuntu с MySQL?

Спасибо.

Ответы [ 5 ]

22 голосов
/ 07 июля 2011

У меня была та же проблема, все, что вам нужно сделать, это сначала установить libmysqlclient-dev.

ура

2 голосов
/ 09 июня 2011

Во-первых, вам нужно установить MySQL. Вы можете установить его, используя менеджер пакетов Ubuntu. Никаких специальных шагов не требуется. Вы также должны сначала создать свою базу данных и пользователя, используя инструмент mysql. Эта ссылка показывает, как это сделать:

http://www.tutorialspoint.com/ruby-on-rails/rails-database-setup.htm

Во-вторых, в вашем Gemfile должен быть указан самоцвет mysql2. Это говорит Rails идти вперед и использовать этот драгоценный камень. Вам нужна такая строка:

gem 'mysql2', '< 0.3'

Я указываю версию меньше 0.3, потому что я использую Rails 3.0.7, а версия 0.3 и выше для Rails 3.1. Кроме того, обязательно используйте gem mysql2, а не mysql - кажется, он лучше обрабатывает кодировку символов.

В-третьих, запустите "bundle install", чтобы Rails загрузил и установил гем mysql2.

Наконец, вам нужно изменить файл database.yml, чтобы добавить информацию о соединении для вашей базы данных следующим образом:

development:
  adapter:  mysql2
  database: your_database_name
  username: your_username
  password: your_password
  encoding: utf8

Кодирующая часть - это то, что я использую, вам может понадобиться что-то другое. Эта запись рассказывает Rails, как найти вашу базу данных в среде разработки.

Как только все это на месте, все должно работать.

1 голос
/ 16 сентября 2014
sudo apt-get install libmysql-ruby libmysqlclient-dev

Если указанная выше команда не работает из-за невозможности найти libmysql-ruby, должно быть достаточно:

sudo apt-get install libmysqlclient-dev

В Red Hat / CentOS и других дистрибутивах с использованием yum:

sudo yum install mysql-devel

В Mac OS X с Homebrew:

brew install mysql

, затем запустите

bundle install

для установки на гем, как указано в gemfile

0 голосов
/ 09 июня 2011

Я считаю, что вам нужно добавить имя гема в ваш Gemfile, расположенный в корне ваших проектов:

Это должно читаться примерно так:

source 'http://rubygems.org'

gem 'rails', version
gem 'mysql', version

Где версия - это версия гема, которую вы хотите установить, и по умолчанию будет содержать кучу другой информации.

Затем перейдите в каталог вашего проекта и выполните команду bundle, и вы должны быть установлены.

0 голосов
/ 09 июня 2011

Может быть, эта ссылка поможет вам. http://www.dreamincode.net/forums/blog/1662/entry-3490-day-6-installing-rails-gem-rvm-etc/

...