rails on windows 转:http://tech.techweb.com.cn/thread-509701-1-1.html
1、ruby和编译环境
请访问一个不存在的网站 rubyinstaller.org,下载上面的ruby-1.8或ruby-1.9的7-zip压缩包和devkit。
1.1 ruby安装很简单,解压7-zip,放置到你自己喜欢的目录,如D:/xxx/ruby,在系统环境变量的path中,添加“D:/xxx/ruby/bin”,使得ruby环境可用。
1.2 安装devkit。按照rubyinstaller上的安装说明,两三个命令之后,即可安装完毕。
2、基础组件和服务
2.1 mysql,去mysql官网下载windows版的,安装或直接解压,即可。
安装完mysql后,进入D:/xxx/ruby/bin,运行命令建立符号连接:
:
Ruby代码 [url=][/url]
mklink libmysql.dll D:/xxx/mysql/lib/libmysql.dll
$ _; `: j% y% X) D
mklink libmysql.dll D:/xxx/mysql/lib/libmysql.dll+ o6 F7 U) k- S& y& D/ L: {# d
注意,windows下的link命令和linux ln的参数正好相反,第一个参数是符号连接名称,第二个参数是目标文件路径。以致于我现在无论在哪个操作系统上做符号连接,都需要很深沉地思考几分钟到底这次按什么顺序。
2.2 在windows上推荐使用apache作为php解析器和前端proxy,因为nginx在windows上使用起来还有些不太方便,不如apache一切都很成熟,好在反正是开发环境,那点效率也感觉不出来。用apache作proxy的原因,是为了有时需要在本地测试和域名相关的应用,就需要用apache做一下proxypass。
2.3 redis官方没有提供windows版的,但请放心,请相信一定会有比我们更闲得蛋疼的老外早就为我们准备好了这一切。请访问github.com/dmajkic/redis/downloads下载redis for windows,这个迁移版紧跟redis官方版本,时刻保持更新,很给力。如果还不满足,可以来这里github.com/rgl/redis下载setup包,将redis安装成windows服务自动启动。
2.4 mongodb比较厚道,官网就提供了原生的windows版,下载了直接安装就行了。
2.5 版本管理,用git的话,可以到这里code.google.com/p/msysgit/downloads/list下载msysgit,用起来也一样。只是在跑rspec测试的时候输出有点乱码的问题比较头疼,始终解决不了,只好假装看不见,只找哪个文件哪一行出错就行了。
2.6 sqlite的话,官网上也有win版的,下载了解压到指定目录,再按照上面的方法添加符号连接到windows系统目录下即可。
2.7 控制台的彩色输出,可以用ansicon,就可以在控制台里看到颜色了。在看rails s的log,还有rspec测试的时候,赏心悦目。
2.8 ssh界面。可以用putty,结合putty connection manager,就可以多窗口管理多台linux服务器,而且支持复制粘贴、utf-8和彩色输出。
3、安装gem
加上devkit之后,你的ruby中便具有了一个mingw32的本地编译环境,而且这个本地编译环境是自动调用的。只有在你要安装的gem需要本地编译时,才会调用devkit。
3.1 象nokogiri等需要编译的普通gem,都无须人工干涉,可自动搞定。
3.2 mysql2的安装,需要手动指定一下mysql的安装目录:
Ruby代码
gem install mysql2 -- --with-mysql-dir=D:/xxx/mysql
gem install mysql2 -- --with-mysql-dir=D:/xxx/mysql
4 I' }- o$ w2 u/ ?* F( T
3.3 rmagick,需要先下载安装imagemagick的dll版本,然后安装gem时需手动指定:
Ruby代码 [url=][/url]* p5 b/ D8 b0 o$ E/ j
CPATH=D:/xxx/imagick/include LIBRARY_PATH=D:/xxx/imagick/lib gem install rmagick
CPATH=D:/xxx/imagick/include LIBRARY_PATH=D:/xxx/imagick/lib gem install rmagick( [: }7 R; ~+ v3 w1 g1 z. m4 ~' d, \
其它的好象就没有什么需要特别指定的了,如果有我没有接触过的gem,可参照上面的思路,根据打印出来的编译错误,加上放狗,配合解决。 4 W% M' q& b% ~2 N
, H, Q1 Q& c$ f
迄今为止,只有一个gem我没有安装上,那就是SystemTimer,因为它要调用unix底层的signal机制,而这个是mingw中确实没有的。不过好在还可以安装另一个stub的gem,ghazel-SystemTimer,使用ruby自带的timeout,反正是测试环境,能跑就行。如果要彻底解决这个问题,除非哪天rubyinstaller把mingw换成cygwin。
4、编辑器
推荐使用aptana。netbeans 7之后貌似是官方就不再支持ruby了,更何况我一直都没有用过netbeans。每出一个netbeans的新版本,我都会试一下,然后再回来重新用我的aptana。
最新的aptana3支持rails3,基本的功能一应俱全,而且象代码提示这样的功能也正在完善之中。总体感觉是越来越
好用了。而且它被人收购之后开发进度一直很活跃,前景还是不错的。
其它的rails编辑器还有很多,你可以根据自己的爱好去选择。我一直都用的是aptana,感觉挺顺手,也从来没想换。至于你用不用,我反正是用了。
5、速度
速度可能是rails on windows的永远的痛。随便敲一个rake命令都得按分钟来计算。启动服务也是一样。我也专门拿出一天的时间去找过国外的社区,看他们有没有解决方案。结果很遗憾,除了一大堆人在那里狂喊sooooooo slowwwwwwww之外,仍然没有根本的解决办法。我也在rails启动的每一个环节都加了timer,想看看到底是哪儿造成了速度的瓶颈,最后得出结论是,所有只要涉及到ruby代码的地方,都是瓶颈。fast_require也试过了,暂时还有很多问题,放弃。我甚至把所有的rails开发环境都放到了一个ramdisk上,速度仍然没有改观,于是我就相信了这个奇迹。
不过,rake命令并不是天天运行,rails s也不会时常重新再来一次,rails c有reload!,可以解决大部分问题。最后就只剩下一个,rspec测试。如果每次跑rspec都要一两分钟,我肯定就格式化windows,装ubuntu了。
还好,我们仍然有spork。
spork跑一个drb服务,预先加载好环境,rspec的时候会去调用它,spork默认会起两个provider,每跑一个rspec命令就会消耗一个,被消耗的那个provider会马上重新启动。这样的话,跑完一个rspec会有发现错误并修改的时间,而且在此期间你还有另一个provider可用,于是,这最后困扰我们的问题也解决了。经实际使用,每个rspec命令的预加载时间也就是几秒钟,和其它平台在一个数量级上,完全可以承受。
还有一个小问题,如果你用了spork,同时又用了factory_girl_rails,那就会造成model和factory的preload,导致你对model和factory的修改不会立即生效。在官方没有推出解决方案之前,可以在Gemfile中对factory_girl_rails加入:require => false,然后在Spork.each_run里require 'factory_girl_rails',即可搞定。
6、缺点
除了上面提到的控制台乱码,还有SystemTimer,最大的缺点就是慢,对于那些无可逃避的慢,就只能稍等一会了。好在我们无论谁在上班的时候都会开着QQ,听着音乐,吃着火锅还唱着歌,也不会在乎在速度上一天多浪费的这几分十几分钟。何况你也可以趁此机会休息一下,照顾一下QQ上弹出的无数窗口。记得有同事在ubuntu上专门安装了个小插件每隔一段时间就锁屏提示休息几分钟,如果他用windows,完全就可以节省下这个插件了。
想要享用windows带来的其它便利,肯定就要忍受随之而来的诸多不便。收之桑榆必会失之东隅,这是亘古不变的人生哲理。世上永远不存在完美,我想这个道理在你刻骨铭心的初恋情人离你远去的那一刻,你就应该明白了。
分享到:
相关推荐
- Installing Rails on Windows requires setting up Ruby, installing gems like `bundler`, and configuring the environment. Developers often use tools like RubyInstaller and DevKit for Windows. 2. **...
### Ruby on Rails 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...
- **Windows平台安装:** 在Windows环境下安装Rails需要先安装Ruby环境,然后通过RubyGems管理器安装Rails。 - **macOS平台安装:** macOS用户可以通过Homebrew工具轻松安装Ruby及Rails。Homebrew是一个高效的包管理...
在Windows环境下搭建Ruby on Rails开发环境,需要经过几个关键步骤,包括安装Ruby、配置环境、安装Rails以及确保所有组件能够正常工作。以下是详细的构建过程: 首先,我们需要在Windows上安装Ruby。Ruby是一种开源...
Ruby on Rails(简称RoR或Rails)是一种开源的网络应用框架,用Ruby语言编写。它被设计用来轻松地实现MVC(模型-视图-控制器)设计模式,从而使开发人员能够快速和有条理地创建数据驱动的应用程序。接下来,我将详细...
5. **跨平台兼容**:由于基于 Java,JRuby on Rails 应用可以运行在任何支持 JVM 的操作系统上,包括 Windows、Linux、macOS 和各种 Unix 发行版。 【JRuby on Rails 开发流程】 1. **环境设置**:首先,你需要...
标题 "rails3.1安装与mysql配置 windows" 涉及到的是在Windows操作系统上安装Ruby on Rails 3.1框架并配置MySQL数据库的过程。这是一个关键的开发环境设置步骤,对于使用Rails进行Web开发的程序员来说至关重要。Ruby...
### Ruby on Rails企业应用开发详解 #### 一、引言 《Ruby on Rails Enterprise Application Development》这本书由Elliot Smith和Rob Nichols共同编写,由Packt Publishing出版。该书旨在为读者提供一个完整的...
标题 "rails 部署 nginx" 涉及到的是在Web开发中使用Ruby on Rails框架结合Nginx服务器进行应用部署的相关知识。Nginx以其高性能、稳定性以及反向代理和负载均衡能力,常被用作Rails应用的前端服务器。下面将详细...
本文将详细介绍如何在Windows环境下配置Ruby on Rails以支持Rails 2.3.5及以上版本,并与MySQL进行无缝对接。 首先,我们需要安装Ruby for Windows。你可以从RubyForge网站上下载最新的One-Click Installer版本,...
Ruby on Rails,简称Rails,是一种基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码可读性。本教程将深入探讨Ruby on Rails的环境搭建,帮助你快速入门。 1...
【Ruby on Rails 环境搭建】是开发者在进行Web应用程序开发时的首要步骤,尤其对于初学者至关重要。Ruby on Rails(简称RoR)是一个基于Ruby语言的开源Web开发框架,它采用MVC(Model-View-Controller)架构模式,...
在本教程中,我们将深入探讨如何在Windows XP操作系统上搭建Ruby on Rails开发环境,特别强调使用RadRails作为集成开发环境(IDE)。Ruby on Rails(RoR)是一个强大的Web应用程序框架,它基于Ruby编程语言,提供了...
Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发更简洁、高效。Rails强调“约定优于配置”,大大减少了开发者需要编写的配置代码。在...
书名:Ruby on rails开发从头来(windows).chm。本资源是关于ruby on rails的资料,是chm格式的。
### Flex on Rails: Key Insights and Detailed Overview The title "Flex on Rails" suggests an in-depth exploration of integrating Adobe Flex with Ruby on Rails (RoR), focusing specifically on Flex 3 ...
【Ruby on Rails手順】是关于使用Ruby编程语言和Ruby on Rails框架进行Web开发的一系列步骤。Ruby是一种面向对象的、动态的编程语言,而Ruby on Rails(简称Rails)是基于Ruby构建的一个开源Web应用程序框架,它遵循...
在“Agile ROR code”压缩包中,可能包含了敏捷开发相关的Ruby on Rails代码示例或项目模板,可以用于学习和实践。解压文件后,按照上述步骤设置Gemfile和数据库配置,然后运行`bundle install`以安装所有依赖,最后...
### Ruby on Rails 教程概览 #### 核心知识点:Ruby on Rails 入门与环境搭建 **标题解析:**“ruby on rails 教程”直指文档内容旨在教授Ruby on Rails框架的基础知识和应用技巧,Ruby on Rails(RoR)是一种用于...