免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3209 | 回复: 1
打印 上一主题 下一主题

Ruby开发环境的终极配置(Railsinstaller1.3.0+mysql-5.1.61) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-02 12:03 |只看该作者 |倒序浏览
Ruby开发环境的终极配置(Railsinstaller1.3.0+mysql-5.1.61)






1.安装Railsinstaller1.3.0

Packages included are:

Ruby 1.8.7-p352
Rails 3.0.7
Git 1.7.3.1
Sqlite 3.7.3
TinyTDS 0.4.5
SQL Server support 3.0.14
DevKit
安装成功可以使用ruby -v来查看版本号。另外这个地方的环境变量可配也可不配,没有影响。不过如果要是在命令行下面运行.rb文件的话,想要不在.rb前面加ruby就运行的话,需要设置.rb文件的默认打开方式为ruby即可。

2.安装mysql-5.1.61,安装方法参看http://www.cnblogs.com/huzhiwei/archive/2012/02/22/2363811.html

安装完成后使用mysql –u root –p来检验是否安装成功。

3.连接ruby与Mysql

方法一:

这一步是最麻烦的,也是最容易出问题的,在前面的日志中已经给出来ruby1.9.2与Mysql5.5的解决方案(使用新版本的同学,可以参考前面的日志)。

安装MySQL gem(这一步与前面一样)
安装了MySQL之后,如果你的Ruby还没有mysql驱动支持(集成的Instant Rails中已经有了),你需要安装Ruby中对MySQL的驱动支持。

gem install 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连接数据库。
DBI模块的安装可以参照:http://www.cnblogs.com/huzhiwei/archive/2012/02/27/2369789.html
安装完成后可以使用irb命令require ‘irb’来检查是否安装正确。我出现了以下问题:
问题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:ate: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目录即可。

下载地址:

http://instantrails.rubyforge.or ... ql/bin/libmySQL.dll

也可从这里下载:

libmySQL

以上就是在配置过程中出现的问题,感觉这些开发软件配置起来问题就一大堆,这还是没有开发呢,让人很不爽啊,不过全解决了,还是值得庆幸的。

论坛徽章:
0
2 [报告]
发表于 2012-03-02 12:03 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP