1.安装Railsinstaller1.3.0
Packages included are:
安装成功可以使用ruby -v来查看版本号。另外这个地方的环境变量可配也可不配,没有影响。不过如果要是在命令行下面运行.rb文件的话,想要不在.rb前面加ruby就运行的话,需要设置.rb文件的默认打开方式为ruby即可。
安装完成后使用mysql –u root –p来检验是否安装成功。
3.连接ruby与Mysql
方法一:
这一步是最麻烦的,也是最容易出问题的,在前面的日志中已经给出来ruby1.9.2与Mysql5.5的解决方案(使用新版本的同学,可以参考前面的日志)。
安装MySQL gem(这一步与前面一样)
安装了MySQL之后,如果你的Ruby还没有mysql驱动支持(集成的Instant Rails中已经有了),你需要安装Ruby中对MySQL的驱动支持。
geminstall mysql
这将安装2006/12/29日的mysql-2.7.3-mswin32.gem。需要注意的是,这个驱动是支持Ruby 1.8的,目前在Windows(mswin32)上还没有兼容1.9的gem出现(mysql-ruby-2.8x已经支持1.9了,但是并没有编译好的gem出现,需要自己编译——而整个编译会很痛苦)。
2008/8/21日发布了 mysql-2.8.1-mswin32.gem,这个版本支持Ruby 1.9了。
安装完成后,在irb下面调用require ‘mysql’报错:loaderror:no such file –mysql。然后需要到http://www.tmtm.org/en/ruby/mysql/下载并安装ruby-mysql
Install
# ruby ./install.rb
此时报错会发生改变,为:
Client does not support authentication protocol requested by server; consider upgrading MySQL client。
请使用以下两种方法之一
其一:
mysql> SET PASSWORD FOR
->
'some_user'
@
'some_host'
= OLD_PASSWORD(
'newpwd'
);
其二:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
实例:mysql> SET PASSWORD FOR –
> root@localhost = OLD_PASSWORD('newpwd');这样配置之后运行没有问题了,不过不知道为什么输出的版本号却不是正确的,但是对数据库的操作没有问题,所以就没有再研究下去。并且这种配置也不会出现http://www.cnblogs.com/huzhiwei/archive/2012/02/27/2369423.html的问题。
方法二:
通过DBI连接数据库。
安装完成后可以使用irb命令require ‘dbi’来检查是否安装正确。我出现了以下问题:
问题1:gems/1.8/specifications/tilt-1.3.3.gemspec]: invalid date format in specification: "2011-08-25 00:00:00.000000000Z"
解决方案:
Search "spec" files in your Ruby directory: *C:\Ruby187\lib\ruby\gems\1.8\specifications*
If a gemspec file contains something like this: s.date = %q{2011-10-13 00:00:00.000000000Z} Then delete the 00:00:00.000000000Z part: s.date = %q{2011-10-13}
After saving those gemspec files, the problem is solved.
问题2:rb:57: undefined method `deprecate' for DBI::Date:Class (NoMethodError)
解决方案:网上说是因为版本原因造成的,所以我按照晚上的方法安装了旧版本deprecated-2.0.1.gem,但是问题还是没有解决,于是我又安装了deprecated-3.0.0.gem,问题依然存在,不过我把deprecated-3.0.0.gem卸载掉问题就解决了。感觉这种解决方法很无语。
问题3:在执行dbh=DBI.connect("DBI:Mysql:my(database):localhost","root","password"),报错:dbi.rb:300:in `load_driver': Unable to load driver 'Mysql'
解决方案:从网上下载一个旧版本的libmySQL.dll,将其放到ruby的bin目录,还要执行gem install dbd-mysql。
以上就是在配置过程中出现的问题,感觉这些开发软件配置起来问题就一大堆,这还是没有开发呢,让人很不爽啊,不过全解决了,还是值得庆幸的。