• Ruby开发环境的终极配置(Railsinstaller1.3.0+mysql5.1.61)


    1.安装Railsinstaller1.3.0

    Packages included are:

    安装成功可以使用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 ‘dbi’来检查是否安装正确。我出现了以下问题:
    问题1gems/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.

    问题2rb: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。

    下载地址:

    http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

    也可从这里下载:

    libmySQL

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

  • 相关阅读:
    Javascript 智能输入数字且保留小数点后三位
    dedecms 在模版页面获取当前栏目id
    photoshop打开图片显示的是索引,无法编辑解决
    Mac+Apache+PHP 安装 Xdebug 方法
    dedecms 模版里格式化时间标签
    input中只能写入数字int、float
    dedecmsv5.7 前台模版里输出变量
    Dedecms V5.7 关于session
    JQuery 获取select被选中的value和text
    如何使用Anaconda
  • 原文地址:https://www.cnblogs.com/huzhiwei/p/2370274.html
Copyright © 2020-2023  润新知