没有这样的文件加载 - mysql(LoadError) - ruby​​ gems

时间:2012-07-17 21:23:06

标签: mysql ruby cucumber

我是ruby的新手,试图通过Ruby连接mysql servcer黄瓜并在运行cukes时遇到以下错误。 错误:没有这样的文件加载 - mysql(LoadError)

但是安装了mysql gem,这里是我的gem列表,并且在ruby_home \ bin路径下也有libmysql.dll

  • 可寻址(2.2.8)
  • builder(3.0.0)
  • bundler(1.1.4)
  • childprocess(0.3.3)
  • 黄瓜(1.2.1)
  • diff-lcs(1.1.3)
  • ffi(1.0.11,1.0.9 x86-mingw
  • 小黄瓜(2.11.1 x86-mingw32)
  • 无头(0.2.2)
  • json(1.7.3)
  • libwebsocket(0.1.4)
  • minitest(1.6.0)
  • multi_json(1.3.6)
  • mysql(2.8.1 x86-mingw32)
  • mysql2(0.3.11 x86-mingw32)
  • net-ldap(0.3.1)
  • rake(0.8.7)
  • rdoc(2.5.8)
  • rspec(2.10.0)
  • rspec-core(2.10.1)
  • rspec-expectations(2.10.0)
  • rspec-mocks(2.10.1)
  • ruby​​gems-update(1.8.24)
  • ruby​​zip(0.9.9)
  • selenium-webdriver(2.24.0)
  • titleize(1.2.1)
  • watir-webdriver(0.6.1)

任何想法都在继续......

1 个答案:

答案 0 :(得分:2)

您运行配对的Ruby版本是什么?如果您运行的是1.8,则需要在“require'mysql'之前添加”require'rubygems'。如果没有,请尝试以非显式方式请求gem。如下所示:

require_relative "rubygems"    
require_relative "mysql"

如果您想快速测试,请使用以下代码..:

require "rubygems"   

require "mysql"

     begin

     # connect to the MySQL server

     db = Mysql.real_connect("localhost", "username", "password")


     # get server version string and display it

     puts "Server version: " + db.get_server_info


   rescue Mysql::Error => e

     puts "Error code: #{e.errno}"

     puts "Error message: #{e.error}"

     puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")

   ensure

     # disconnect from server

     db.close if db

   end

如果一切顺利,你应该看到你的mysql版本..