在Snow Leopard上从Ruby 1.9访问Vanilla MySQL

dee*_*akg 5 ruby mysql

我在Slow Leopard(通过MacPorts安装)上运行Ruby 1.9(ruby 1.9.1p376(2009-12-07修订版26041)[i386-darwin10]).

然后我通过MacPorts安装了Ruby MySQL客户端库:安装rb19-mysql

尝试使用它我收到以下错误:

db.rb:4:in `initialize': wrong number of arguments(4 for 0) (ArgumentError)
    from db.rb:4:in `new'
    from db.rb:4:in `'

我的代码:

require 'mysql'
require 'pp'

dbh = Mysql.new("localhost", "testuser", "testpass", "test")
puts "Server version: " + dbh.get_server_info
Run Code Online (Sandbox Code Playgroud)

好像我在这里遗漏了一些非常基本的东西.

我安装了正确的客户端库吗?我正确使用它?我错过了其他一些依赖项吗?

如果有人能指出我正确的方向,我将不胜感激.

谢谢!

Pek*_*ica 0

我一生中从未写过一行 Ruby,所以也许我会让自己难堪,但是你不需要Mysql先初始化吗?我很确定该函数需要 0 个参数这一事实意味着它还不存在。

在您提到的包的测试文件中(您让我很好奇),我看到以下行:

 assert_nothing_raised{@m = Mysql.init} 
Run Code Online (Sandbox Code Playgroud)

但是,您的语法似乎是正确的。来自同一个测试文件

assert_nothing_raised{@m = Mysql.new(@host, @user, @pass, @db, @port, @sock, @flag)}
Run Code Online (Sandbox Code Playgroud)

我假设你需要先做一个Mysql.init()

如果我错了,请告诉我,我会删除答案。