2016-3-15: 更新了 Ruby 2.2.4 的版本,添加了 Rails 5 Beta 3
最近看到好多帖子都在说 Windows 下面开发 Rails 的环境搭建如何如何困难,又听说 Shanghai Rails Girl 活动也在考虑初学者使用 Windows 如何入门的问题,我本人从 2012 年开始就一直在 Windows 下开发 Rails 程序,很乐意分享一下我的 Rails 开发环境压缩包。
这个压缩包 316 兆,解压后占用 C 盘大约 1.3GB,包括了三年内我确认的可以在 Windows 下使用的 gems(有些编译还是很麻烦的,比如:1, 2, 3),并且所有的 Gems 已经更新到最新版本,包括:
安装方法,在安装完node.js 0.12.6和rubyinstaller 2.1.6后,直接解压到 C:\下即可。
百度网盘 密码:8hvg
115 网盘Ruby217.rar
百度网盘Ruby223.rar 密码:y9xr 百度网盘Ruby224.exe,密码:7xlj
当年直接从 railsinstaller 起步的...当初编译 mysql2 都有坎,现在好多了 win 下开发主要的坑是一些 gem 在 bundle 后引入的依赖是平台相关的,所以部署到 linux 或者协作的时候要去掉 Gemlock.lock
不看 gem 兼容问题的话,win 下开发最大的劣势是没有一个好用的 terminal...即使是 conemu 的基本操作体验也是距离 gnome 的 terminal 差一点,别提 osx 下的 iterm2 了。。。
我也折腾过 Windows 下的 Rails,觉得在投资回报率上实在太低,而且遇到的都是很难搞的问题,真不如纯粹用 JRuby 解决算了。
另外就是 Windows 下的 Rails 开发实在效率极低,我觉得不是动了感情,而是伤了感情,除非是就想试试看的人,我绝对不推荐 Windows.
我个人觉得在不熟悉 Linux/Mac 的情况下 Windows 开发是最高效的,先不说在 VBox 虚拟机下会遇到奇葩的问题 (开个 IDE 要 3 分钟),在 Linux/Mac 开发没有很大的效率提升,反而因为不熟悉而降低了开发效率。
对于一个不熟悉 Linux 的初学者来说,如果学习 Ruby/Rails 需要先折腾一下 Linux 或者买个 Mac,何不学习 Python/Django 呢?
我的意见正相反,我觉得对于一个初学者来说,学习 Linux 是绝对值得的,且不说最终你的部署环境就是 Linux。我觉得对一个初学者来说 Linux 可以转变在 windows 下习惯的思维方式,而换到 Linux 下的思维方式。而无疑 Linux 下的思维方式,能让你设计出更好的 web 程序。并且 Linux 还能让一个初学者真正感受到开源的魅力。
可能从前期看效率确实不高,但等熟悉了一点点 Linux 后,初学者就会发现效率会显著的提高的啊。随手可得的开发工具,没有在 winodws 下的坑,也没有 windows 下让你分心的玩意儿,效率怎么不高?反正当时如果我没有接触 LInux,我是肯定不会开始对 web 开发感兴趣的。在这里我得感谢 Linux。
#23 楼 @yangyuqian 虚拟机效率不高,另外一个好的软件的必备条件是三平台兼容,Rails/Rust/Node.js 其实都是支持 Windows 的,其中的一些不兼容的东西,从另外一个角度来说,就是还不够好,还不够友善,开发者的诚意还不够。最明显的例子是 less vs sass,less 一直没有做 windows 的兼容,于是,bootstrap 4 用 sass 重写了,所以 Mac/Linux 的同学们如果面对两个相似的都是开源的软件不知道如何选择,不妨用这个三平台原则看看。
碰到问题的时候,解决起来很费时间,关键是,这个时间花的是否值得,所以我要求队伍里面,不要用 win 来做 rails 的开发,如果用 win 的,可以开虚拟机,共享目录到 win 下写,但是服务是跑在 linux 上,ssh 上去,没啥区别,队伍人多了以后,后续碰到的问题各种各样,把时间花在那个上面,非常不值得
#30 楼 @greatbody 你同学说滴不对,让他说少啥了? win 下 vagrant 才是正确的姿势 https://ruby-china.org/topics/26367
刚开始的时候,也是使用 RubyInstaller 来开发,后来,项目要在不同版本切换后,就开始使用 Rvm 来对 ruby 做管理,在三个系统下都做过,windows 确实偏麻烦,之前一直在数据库这块纠结,Linux / Mac 却没有这样的烦恼,开发顺畅,没有其他的因素干扰~
win 平台下 rubymine 比 linux 要快,不知道为什么。 最近配置了 win8.1 64 ruby2.1x,rails 4.2,使用 rubyinstaller,最麻烦是安装 puma,需要下载 openssl x64 源码,结果国外那些网站不能下载文件,换了 ie 原版浏览器,又能下载了。折腾好几天。