ActiveRecord .... activerecord-mysql-адаптер - PullRequest
11 голосов
/ 04 декабря 2011

Это сводит меня с ума.

Я пытаюсь создать простое приложение для начинающих, использующее ActiveRecord для выполнения простых задач базы данных. Я НЕ пользуюсь рельсами.

Я получаю сообщение об ошибке:

RuntimeError: Please install the mysql adapter: `gem install activerecord-mysql-adapter` (Could not find mysql (~> 2.8.1) amongst [actionmailer-3.1.3, actionpack-3.1.3, activemodel-3.1.3, activerecord-3.1.3, activerecord-sqlserver-adapter-3.1.4, activeresource-3.1.3, activesupport-3.1.3, ansi-1.4.1, arel-2.2.1, bigdecimal-1.1.0, builder-3.0.0, bundler-1.0.21, capistrano-2.9.0, coffee-rails-3.1.1, coffee-script-2.2.0, coffee-script-source-1.1.3, daemons-1.1.4, erubis-2.7.0, eventmachine-0.12.10, execjs-1.2.9, highline-1.6.8, hike-1.2.1, hpricot-0.8.5, i18n-0.6.0, io-console-0.3, jquery-rails-1.0.19, json-1.6.3, mail-2.3.0, mime-types-1.17.2, minitest-2.5.1, multi_json-1.0.4, net-scp-1.0.4, net-sftp-2.0.5, net-ssh-2.2.1, net-ssh-gateway-1.1.0, nokogiri-1.5.0, polyglot-0.3.3, rack-1.3.5, rack-cache-1.1, rack-mount-0.8.3, rack-protection-1.1.4, rack-ssl-1.3.2, rack-test-0.6.1, rails-3.1.3, railties-3.1.3, rake-0.9.2.2, rdoc-3.11, rockhands-0.0.6, sass-3.1.11, sass-rails-3.1.5, shotgun-0.9, sinatra-1.3.1, sprockets-2.0.3, sqlite3-1.3.4, thin-1.3.1, thor-0.14.6, tilt-1.3.3, treetop-1.4.10, turn-0.8.3, tzinfo-0.3.31, uglifier-1.1.0])

Этот камень, очевидно, не существует на рубиновых камнях, или это было бы легко ...

Как еще я должен это сделать?

Вот важная часть

ActiveRecord::Base.establish_connection(
  :adapter  => 'mysql',
  :host     => 'localhost',
  :database => 'test',
  :username => 'root',
  :password => 'password'
)

Я вижу все, что я изменяю: адаптер в хэше - это то, что он вставляет в ошибку 'gem install activerecord-yousuck-adapter'

Я прочитал почти все руководства в Google, которые я могу найти ... в конце концов. Я думал, что это будет, по крайней мере, немного проще ... Я потратил часы и часы, просто исправляя ошибки в гемах. Дни на самом деле, и мне еще предстоит написать какой-нибудь реальный код ruby. как расстраивает

Ответы [ 4 ]

13 голосов
/ 04 декабря 2011

Не уверен, что это ваша проблема, но попробуйте использовать драйвер adapter: mysql2. В любом случае это рекомендуется, так как он намного быстрее, чем стандартный mysql.

Вы все еще получаете ту же проблему?

5 голосов
/ 03 июля 2012

После нескольких часов борьбы с этой проблемой, ответ Tallboy работал для меня на OS X:

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

К сожалению, его ответ был скрыт в одном из комментариев выше;Вы должны нажать на ссылку, чтобы развернуть комментарий.Я получаю сообщение об ошибке «неопределенный метод init для Mysql: Class»

2 голосов
/ 16 апреля 2012
  1. Я выполнил команду bundle install , которая не решила проблему

  2. Я нашел гемфайл, расположенный в c: \ Sites \ <> \ Gemfile

  3. Добавлен gem 'mysql' в файл путем редактирования его в блокноте ++

  4. Затем проверил, доступен ли Mysql в комплекте, используя bundle show mysql

  5. После чего, когда я выпустил rake db: create, я получил указанный файл, не удалось найти ошибку, которая ссылалась на libmysql.dll

  6. Вы можете найти то же самое в вашей установке MySQL или вы можете скачать по ссылке http://www.vertstudios.com/blog/libmysqldll-32-bit-download/

  7. Скопируйте этот файл в папку bin каталога Ruby. В моем случае я использовал rubyinstaller, поэтому это был C: \ RailsInstaller \ Ruby1.9.3 \ bin

Вуаля. Это сделано.

^ Обратите внимание, что ссылка на скачивание может привести к неверной версии библиотеки. В этом случае лучше всего перейти по ссылке, указанной в сообщении, которое вы получите сразу после установки гема mysql (2), чтобы получить правильную версию библиотеки, иначе она все равно не будет работать.

0 голосов
/ 21 октября 2013

Мы столкнулись с той же проблемой (потому что мы переключаемся с jruby на ruby)

Решено с помощью:

  • адаптер: mysql2 (в database.yml)
  • gem 'mysql2' (в файле gemfile)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...