Я настраиваю ruby и mysql на свой Mac, и у меня возникают проблемы с подключением к локальному серверу mysql.
require 'rubygems'
require 'mysql'
...
db = Mysql.new("localhost", "root", "", "")
...
Это дало бы мне следующую ошибку, когда я запустил эту script из командной строки:
generate.rb:37:in `initialize': wrong number of arguments (4 for 0) (ArgumentError)
from generate.rb:37:in `new'
from generate.rb:37
Я понятия не имею, почему я получаю эту ошибку... любые идеи?
Как насчет
db = Mysql.connect("localhost", "root", "", "")
?
Я столкнулся с той же проблемой. Удаление mysql gem и установка ruby-mysql решили проблему.
sudo gem удалить mysql
sudo gem install ruby-mysql
переустановить 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
Я нашел решение здесь http://thinlight.org/2010/05/12/how-to-install-ruby-mysql-on-mac-os-x-10-6-snow-leopard/
У вас есть четкое сообщение о неправильном количестве аргументов для метода new
. Может быть, попробуйте другой метод? real_connect
например.
db = Mysql.real_connect('localhost', 'test', 'test', 'testdb');
user: test, pass: test, db: testdb
sudo gem spec mysql
?