0

我是 ruby​​ 的新手,尝试通过 Ruby 连接 mysql servcer for cucumber 并在运行 cukes 时出现以下错误。错误:没有要加载的文件--mysql(LoadError)

但是安装了 mysql gem,这是我的 gem 列表,并且在 ruby​​_home\bin 路径下还有 libmysql.dll

  • 可寻址 (2.2.8)
  • 建设者(3.0.0)
  • 捆绑器 (1.1.4)
  • 子进程(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)
  • 迷你测试(1.6.0)
  • multi_json (1.3.6)
  • mysql (2.8.1 x86-mingw32)
  • mysql2 (0.3.11 x86-mingw32)
  • 网络 ldap (0.3.1)
  • 耙子 (0.8.7)
  • rdoc (2.5.8)
  • rspec (2.10.0)
  • rspec 核心 (2.10.1)
  • rspec-expectations (2.10.0)
  • rspec 模拟 (2.10.1)
  • rubygems 更新 (1.8.24)
  • rubyzip (0.9.9)
  • 硒网络驱动程序(2.24.0)
  • 标题化 (1.2.1)
  • 水网驱动程序(0.6.1)

知道发生了什么...

4

1 回答 1

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 版本。

于 2012-07-18T11:24:27.530 回答