在Windows Vista上安装Ruby on Rails和配置MySQL
2009-02-25 09:01
567 查看
安装Ruby On Rails
1. 下载Ruby,我用的是1.8.6,下载地址:http://rubyforge.org/frs/?group_id=167。下载后直接双击安装就可以了。
2. 在命令行窗口中,运行gem命令,看是否已经包含了rubygems。如果没有,则下载,然后运行ruby setup.rb安装;若已经包含,进入第3步。
3. 在命令行窗口中,直接运行gem install rails开始安装Rails。
4. 运行rails myapp就可以创建一个名称myapp的ROR程序。
这样就完成了Ruby On Rails的安装,并且创建了myapp程序,接下来就为其添加MySQL数据库支持。
安装MySQL
1. 下载MySQL(http://dev.mysql.com/downloads/mysql/5.1.html#win32),这里使用的MySQL5.1.31.
2. 安装MySQL,并配置MySQL,其中要选中Include Bin Directory in Windows PATH。
3. 创建数据库。运行MySQL Command Line Client,登录后运行:
mysql> create database myapp_development;
配置MySQL
1. 首先运行gem install mysql命令,绑定mysql数据库。
2. 编辑myapp目录中config/database.yml文件。其中默认的可能是SQLite数据库,这里修改为MySQL数据库,以development为例:
3. 注意这时候应该重启电脑,否则如果直接启动服务器,访问http://localhost:3000,页面上就弹出libmysql.dll错误提示。重启后,再访问就可以在首页中看到环境信息,如下:
TroubleShooting
数据库已经连上了,下面就是创建数据库表了。由于已经在Ubuntu上创建过类似程序,这里就把编写Migration文件的步骤和时间省去了,直接运行rake db:migrate,就在这时问题出现了。问题表现出两种情况:
1. 错误信息为:
(in D:/rails/myapp)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
undefined method `each' for #<Mysql:0x5cdda84>
在该种情况中,可能会有部分migration运行成功,但是并不能顺利执行。
2. 错误信息中包含了:ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/module/introspection.rb:73: [BUG] Segmentation fault
无论这两种情况有时候会交替出现,当然导致的结果就是migration不能顺利执行。
原因分析:MySQL中包含的libmysql.dll不能正常运行。
解决方法:
替换自带的libmysql.dll,该方法已验证,下载地址:http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll 保存到ruby安装目录的bin中。
重新运行rake db:migrate,终于看到了
(in D:/rails/myapp)
== AddInitialData: migrating =================================================
== AddInitialData: migrated (0.2270s) ========================================
== AddUserData: migrating ====================================================
== AddUserData: migrated (0.1280s) ===========================================
== CreateSessions: migrating =================================================
-- create_table(:sessions)
-> 0.0810s
-- add_index(:sessions, :session_id)
-> 0.2780s
-- add_index(:sessions, :updated_at)
-> 0.2270s
== CreateSessions: migrated (0.6020s) ========================================
== CreateAppliances: migrating ===============================================
-- create_table(:appliances)
-> 0.0550s
== CreateAppliances: migrated (0.0590s) ======================================
1. 下载Ruby,我用的是1.8.6,下载地址:http://rubyforge.org/frs/?group_id=167。下载后直接双击安装就可以了。
2. 在命令行窗口中,运行gem命令,看是否已经包含了rubygems。如果没有,则下载,然后运行ruby setup.rb安装;若已经包含,进入第3步。
3. 在命令行窗口中,直接运行gem install rails开始安装Rails。
4. 运行rails myapp就可以创建一个名称myapp的ROR程序。
这样就完成了Ruby On Rails的安装,并且创建了myapp程序,接下来就为其添加MySQL数据库支持。
安装MySQL
1. 下载MySQL(http://dev.mysql.com/downloads/mysql/5.1.html#win32),这里使用的MySQL5.1.31.
2. 安装MySQL,并配置MySQL,其中要选中Include Bin Directory in Windows PATH。
3. 创建数据库。运行MySQL Command Line Client,登录后运行:
mysql> create database myapp_development;
配置MySQL
1. 首先运行gem install mysql命令,绑定mysql数据库。
2. 编辑myapp目录中config/database.yml文件。其中默认的可能是SQLite数据库,这里修改为MySQL数据库,以development为例:
development: adapter: mysql encoding: utf8 database: myapp_development username: root password: root
3. 注意这时候应该重启电脑,否则如果直接启动服务器,访问http://localhost:3000,页面上就弹出libmysql.dll错误提示。重启后,再访问就可以在首页中看到环境信息,如下:
Ruby version | 1.8.6 (i386-mswin32) |
RubyGems version | 1.3.1 |
Rails version | 2.2.2 |
Active Record version | 2.2.2 |
Action Pack version | 2.2.2 |
Active Resource version | 2.2.2 |
Action Mailer version | 2.2.2 |
Active Support version | 2.2.2 |
Application root | D:/rails/myapp |
Environment | development |
Database adapter | mysql |
Database schema version | 10 |
数据库已经连上了,下面就是创建数据库表了。由于已经在Ubuntu上创建过类似程序,这里就把编写Migration文件的步骤和时间省去了,直接运行rake db:migrate,就在这时问题出现了。问题表现出两种情况:
1. 错误信息为:
(in D:/rails/myapp)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
undefined method `each' for #<Mysql:0x5cdda84>
在该种情况中,可能会有部分migration运行成功,但是并不能顺利执行。
2. 错误信息中包含了:ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/module/introspection.rb:73: [BUG] Segmentation fault
无论这两种情况有时候会交替出现,当然导致的结果就是migration不能顺利执行。
原因分析:MySQL中包含的libmysql.dll不能正常运行。
解决方法:
替换自带的libmysql.dll,该方法已验证,下载地址:http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll 保存到ruby安装目录的bin中。
重新运行rake db:migrate,终于看到了
(in D:/rails/myapp)
== AddInitialData: migrating =================================================
== AddInitialData: migrated (0.2270s) ========================================
== AddUserData: migrating ====================================================
== AddUserData: migrated (0.1280s) ===========================================
== CreateSessions: migrating =================================================
-- create_table(:sessions)
-> 0.0810s
-- add_index(:sessions, :session_id)
-> 0.2780s
-- add_index(:sessions, :updated_at)
-> 0.2270s
== CreateSessions: migrated (0.6020s) ========================================
== CreateAppliances: migrating ===============================================
-- create_table(:appliances)
-> 0.0550s
== CreateAppliances: migrated (0.0590s) ======================================
相关文章推荐
- Linux系统平台上安装和配置Ruby on Rails
- 在 Linux 平台上安装和配置 Ruby on Rails 详解
- centos 安装ruby on rails +mysql 环境搭建
- Ubuntu 12.04 Ruby on Rails + MYSQL 配置
- Ubuntu Ruby On Rails安装和配置
- [脚本_Ruby]Ubuntu上安装配置Ruby On Rails环境
- osx 编译安装配置 ruby on rails
- ruby on rails与MySql的环境配置——支持rails 2.3.5以上版本
- Ubuntu 10.10 安装配置 Ruby on Rails
- [脚本_Ruby]Windows安装配置Ruby On Rails
- 在Linux平台上安装和配置Ruby on Rails详解
- ruby on rails 在centos 7下的安装配置
- 在Linux平台上安装和配置Ruby on Rails详解
- 在Linux平台上安装和配置Ruby on Rails详解(含lighttpd的安装与自启动)
- Ruby on Rails(ROR) 实例开发之一 配置数据库Mysql
- ruby on rails 配置mysql 方法
- 在Linux平台上安装和配置Ruby on Rails详解
- Ubuntu 环境下配置安装Ruby on Rails
- Ubuntu Ruby On Rails安装和配置
- Ruby on Rails + MySQL在windows64位系统上的配置