【问题标题】:no such file to load -- mysql (LoadError) - ruby gems没有要加载的文件 - mysql (LoadError) - ruby​​ gems
【发布时间】:2012-07-17 21:23:06
【问题描述】:

我是 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)
  • 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)
  • 耙子 (0.8.7)
  • rdoc (2.5.8)
  • rspec (2.10.0)
  • rspec-core (2.10.1)
  • rspec-expectations (2.10.0)
  • rspec 模拟 (2.10.1)
  • rubygems 更新 (1.8.24)
  • rubyzip (0.9.9)
  • selenium-webdriver (2.24.0)
  • 标题化 (1.2.1)
  • watir-webdriver (0.6.1)

知道发生了什么...

【问题讨论】:

  • 知道这里发生了什么吗?

标签: mysql ruby cucumber


【解决方案1】:

你在运行什么版本的 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 版本..

【讨论】:

  • 我使用 Ruby 1.9 如果我使用 require_relative "rubygems" 获取无法从 (irb):1:in `require_relative' 推断 basepath 但如果我使用 require "rubygems" / require "mysql - 它返回真。
  • 使用 require "rubygems" / require "mysql 然后它应该可以工作了!
  • 让你的 mysql 服务器运行。使用您最喜欢的 txt 编辑器并将上面的代码保存为 yourfilename.rb 扩展名。然后通过键入 ruby​​ yourfilename.rb 从命令提示符运行它
  • 我刚刚测试了上面的内容,我已经连接并得到了版本。如果您还有任何问题,请告诉我..
  • 我的 rb 文件中有 2 个 requires(require 'rubygems' require 'mysql')。我已经执行了上面的代码,这是我看到的错误,但是我可以从数据库开发人员那里连接到我的数据库。错误:错误代码:2003 错误消息:无法连接到“10.7.20.9”上的 MySQL 服务器 (10061) 错误 SQLSTATE: HY000 => nil
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 2011-11-07
  • 1970-01-01
  • 2012-10-13
  • 2014-01-16
  • 2011-02-23
  • 2013-12-14
相关资源
最近更新 更多