Ruby mysql2 Ошибка

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

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 126: The specified module could not be found.   - C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/1.9/mysql2.so (LoadError)

При попытке запустить этот скрипт...

require "mysql2"

client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "system32")
results = client.query("SELECT * FROM project1_nodes").each do |row|
  puts row
end

Есть идеи?

Ура Мартин

2 ответа

Решение

Я полагаю, вы запускаете ROR на Windows. Так что следуйте этим шагам.

  1. убедитесь, что вы установили mysql correctlt.
  2. скопируйте файл libmysql.dll(из установочного каталога mysql) в вашу папку C:/Ruby193/bin
  3. Теперь удалите старые MySQL установленные драгоценные камни.
  4. переустановите mysql gem.

Это может решить вашу проблему.

Если вы используете RVM, используете ли вы определенный набор гемов?

У меня были похожие проблемы, и настройка, указывающая на конкретный набор гемов, исправила мои проблемы. Например, я установил гем, но потом не смогу загрузить его require 'example_gem_name' вызов. Это исправило мои проблемы,

rvm gemset use gemset_name  
gem install mysql2  
gem list mysql2  

Кроме того, чтобы установить набор гемов RVM по умолчанию (так что вам не придется каждый раз),

rvm use 1.9.3@gemset_name --default
Другие вопросы по тегам