Rails 在 Windows 平台上搭建 Ruby On Rails 开发环境

hcrazy · 2013年03月12日 · 最后由 leslin123 回复于 2013年08月24日 · 13261 次阅读

原文链接:http://www.hcrazy.com/?p=25 在 windows 平台下开发 rails 应用程序,可以按照以下方式搭建开发环境,让你以最快的速度领略到 ruby on rails 的神奇。

首先需要准备以下内容

1、windows 下的 ruby 安装包,本人使用 ruby1.9.2 版本,下载地址:

http://rubyinstaller.org/downloads/ 选择 Ruby 1.9.2-p290

2、ruby 打包工具:RubyGems. 我们可以通过该工具下载 rails 及其所需的各种组件。经测试,安装完上面的 ruby 程序(我下载后的安装包全名为:rubyinstaller-1.9.2-p290.exe),BubyGems 已经集成在里面了,后面介绍如何查看。

3、rails 框架。rails 是用 ruby 编写的 web 开发框架,要开发 rails 应用程序,必然要下载 rails 了,这个就可以使用上面所说的 RubyGems 来轻松安装了

4、数据库。rails 支持各种数据库,最简单的方式就是使用嵌入式的 sqlite3 数据库,这里就以 sqlite3 为例,下载地址:

http://www.sqlite.org/download.html 选择 Precompiled Binaries for Windows

然后下载前两个:sqlite-shell-win32-x86-3071502.zip、sqlite-dll-win32-x86-3071502.zip,后面介绍如何使用,先将下载后的压缩包放到任意目录下即可。

5、安装 DevKit。DevKit 是 windows 平台下编译和使用本地 C/C++ 扩展包的工具。它就是用来模拟 Linux 平台下的 make, gcc, sh 来进行编译。

ok,准备工作完成,下面开始安装 rubyinstaller-1.9.2-p290.exe

安装过程非常简单,需要注意的就是选中如图所示的后两项,这样就自动将 ruby 设置到 windows 的环境变量里去了,省了你再设置环境变量的功夫了,一步到位,安装顺利完成。

接下来,就是运行 cmd.exe 了,输入 ruby -v 检测 ruby 的安装版本,如下图所示:

如果显示出你的 ruby 的安装版本了,就表示你安装成功了。接下来,继续输入 gem -v

就像前面我提到的,RubyGem 默认集成到 rubyinstaller 安装包里的,我这里显示的是 gem 版本为 1.7.2。

好了,再往后就是安装 rails 及相关依赖组件了,命令行输入:gem install rails

我在公司的电脑里安装时,没有遇到问题,直接跳到下一步(后面介绍)。但是,在我家里电脑安装时,则遇到如下问题:

经过不断的在网上搜索,分析,最终 goooge 到了我要的答案,原因就是网络原因,家里的网速太慢(4M),导致连接 rubygems.org 失败,因此会出现上面的错误,幸运的是,淘宝网提供了镜像服务,只要按照下面的几个步骤后,就可以正常安装 rails 了。

1、打开http://ruby.taobao.org/

2、按照网站上的说明,依次输入下面的命令:

gem sources --remove https://rubygems.org/ gem sources -a http://ruby.taobao.org/ gem sources -l

最后得到结果

*** CURRENT SOURCES ***

http://ruby.taobao.org

不过,我在执行上面步骤时,有些不一样,执行 gem sources -l 后,结果如下:

需再次执行 gem sources --remove http://rubygems.org/http不是https。然后再执行,注意,这次按照上面列表上显示的是

gem install rails 就 ok 了。

rails 安装成功了吗?呵呵,还没有,上面那个截图只是一部分,还有下面一部分,显示的是错误:

ok,这个错误也很明显,就是安装 json 的组件包时出现了问题,需要使用 DevKit 工具才能安装。这个工具在开始的准备工作里第 5 条中略微提了下,这里提供下载链接:http://rubyinstaller.org/downloads/

然后,滚动条使劲往下拉,可以看到 Development Kit 黑体部分,选择 DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe 进行下载即可。下载后解压到一个目录,我的是:D:\Ruby\DevKit。然后命令行切换到 D:\Ruby\DevKit 目录,依次执行以下命令

ruby dk.rb init

ruby dk.rb review

ruby dk.rb install

如下图所示:

然后再运行一遍:gem install rails,此时就会真的成功了!恭喜恭喜!还剩下最后一个部分,就是安装 sqlite3 数据库。

将本文开始部分准备的关于 sqlite3 的两个压缩包解压缩,得到 3 个文件,复制到 ruby 的安装子目录 bin 下,我这里是:D:\Ruby\Ruby192\bin。然后命令行输入:gem install sqlite3

到这里安装工作总算完成了,下面就来创建一个简单的应用爽爽吧。

首先创建一个你自己的工作目录,我的是:D:\Ruby\works,然后进入 cd D:\Ruby\works,命令行输入:rails new demo

此时,rails 会在你的 works 目录下创建一个 demo 项目,demo 文件夹里默认安装了一系列文件,暂时先不用理会他们,等我下次在给大家详细介绍,呵呵。

当然,在这里,我也遇到了一个问题(其实,如果网络够好的话,没有这么复杂,这么多问题,问题就在于我们天朝的网络了!!!),就是在运行 rails new demo 期间,卡在 run bundle install 这里了。

解决办法:重新执行命令:rails new demo --skip-bundle,进入到 demo 目录下,然后再次运行 bundle install,哈,失败!但是,至少出现内容了:

连接不上https://rubygems.orghttps的原因,好说,进入到demo目录,找到Gemfile文件,打开,将第一行:source,看来是 'https://rubygems.org' 修改为:source 'http://rubygems.org',这里就不截图了,呵呵。

再次进入到 demo 目录,运行 bundle install,怎么样?成功了否?还是不行?好家伙,好吧,还记得前面提到的淘宝镜像吗,替换成它,这网速总该可以了吧,继续修改 Gemfile 文件,将第一行 source 'http://rubygems.org' 再改为

source 'http://ruby.taobao.org/'

运行 bundle install,闭上眼睛,20 秒后睁开,哇。。。这次是真的 ok 了,呵呵,有图有真相:

Complete!,还有耐心吗?呵呵,只要你再输入最后一个命令,你就可以通过浏览器运行你的 app 了。

demo 目录下命令行输入:rails server,上图:

看到了吗?你的 rails 应用程序服务器启动成功了,赶快打开浏览器体验一下吧:

输入:http://localhost:3000 最后一张图:

关于 rails 的开发环境在 windows 下的搭建过程就简单介绍到这里,欢迎大家继续关注,我会持续学习,持续更新的!

不如装个虚拟机,linux

你需要 railsinstaller

真麻烦,win 下包括下载 10 分钟就搞定了

其实真实的情况是没楼主写的那么麻烦,win 下搭建环境,包括下载安装包之类的玩意 10 分钟就搞定了

还是在 linux 上比较顺畅

railsinstaller 直接全有了

如果公司代理不能下载 rails 工程需要的 gem,使用 ntlmaps 做再次代理

可以去 bitnami.org 看一下,有 Rails windows 下的安装包,我一直在用

#4 楼 @ywjno 确实是这样。Win 下搭建环境并不是很麻烦。很多所谓的难,只是人云亦云啦。

#10 楼 @skandhas 而且如果打算切换不同的 ruby 版本,装完 ruby 后通过一个叫RapidEE的软件修改系统 path 再保存一下,跟使用 rvm 是一样的效果

PS:被 mruby 的代码提交者 at 了,我好鸡冻

#11 楼 @ywjno 嗯 有可能是大家对 windows 有个先入为主的观念吧,觉得难配置。现在有 mingw 和 cygwin 的帮助下,大多数的开源项目都能编译运行,没有想象的那么难。另外,在捣鼓的过程中也练习了动手能力和思考能力。呵呵;) 还有我也是菜鸟啦,共同交流学习吧!

这个错误为什么啊,兄弟们?谢谢了! C:\Ruby\demo>rails server C:/Ruby/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7-x86-mingw32/lib/sqlite3.rb:6:in require': cannot load such file -- sqlite3/sqlite3_native (LoadError) from C:/Ruby/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7-x86-mingw32/lib/sqli te3.rb:6:inrescue in ' from C:/Ruby/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7-x86-mingw32/lib/sqli te3.rb:2:in <top (required)>' from C:/Ruby/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime. rb:72:inrequire' from C:/Ruby/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime. rb:72:in block (2 levels) in require' from C:/Ruby/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime. rb:70:ineach' from C:/Ruby/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime. rb:70:in block in require' from C:/Ruby/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime. rb:59:ineach' from C:/Ruby/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime. rb:59:in require' from C:/Ruby/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:i nrequire' from C:/Ruby/demo/config/application.rb:7:in <top (required)>' from C:/Ruby/lib/ruby/gems/2.0.0/gems/railties-3.0.12/lib/rails/commands .rb:28:inrequire' from C:/Ruby/lib/ruby/gems/2.0.0/gems/railties-3.0.12/lib/rails/commands .rb:28:in block in <top (required)>' from C:/Ruby/lib/ruby/gems/2.0.0/gems/railties-3.0.12/lib/rails/commands .rb:27:intap' from C:/Ruby/lib/ruby/gems/2.0.0/gems/railties-3.0.12/lib/rails/commands .rb:27:in <top (required)>' from script/rails:6:inrequire' from script/rails:6:in `

'

咱,10 秒 bundle 完,救星呀

需要 登录 后方可回复, 如果你还没有账号请 注册新账号