次のルビープログラムを実行しようとしています
require 'rubygems'
require 'mysql'
db = Mysql.new('local','root','','')
st_qry = db.query("SELECT * FROM `notification` ORDER BY notification_id DESC ")
puts ("There were #{st_qry.num_rows} rows returned.")
ターミナルからこのコードを実行すると、次のエラーメッセージが表示されます。
joe.fleck$ ruby mysql_req.rb
mysql_req.rb:4:in `initialize': wrong number of arguments (4 for 0) (ArgumentError)
from mysql_req.rb:4:in `new'
from mysql_req.rb:4
これを修正する方法がわかりません。私はこのコマンドでmysqlをインストールする必要がありました:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- \
--with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
--with-mysql-include=/usr/local/mysql/include
通常のコマンド(sudo gem install mysql)はエラーになり、インストールされないためです。
また、mysqlをアンインストールしてインストールしてみました。mysql2を試しましたが、プログラムを実行しようとするとエラーが発生します。
誰かがこれを解決する方法を知っていますか?
MacBook Pro、OSXバージョン10.8.2
$ gem list
*** LOCAL GEMS ***
addressable (2.3.2)
builder (3.1.3)
childprocess (0.3.5)
cucumber (1.2.1)
diff-lcs (1.1.3)
fastercsv (1.5.5)
ffi (1.1.5)
gherkin (2.11.3)
json (1.7.5)
libwebsocket (0.1.5)
multi_json (1.3.6)
mysql (2.8.1)
pkg-config (1.1.4)
rb-appscript (0.6.1)
rubygems-update (1.8.24)
rubyzip (0.9.9)
safariwatir (0.4.0)
selenium-webdriver (2.25.0)
shoes (3.0.1)
watir-webdriver (0.6.1)