Ruby on Rails 在 Windows 上跑起来很不爽这是一个事实... 这个事实从很多年前延续到现在... 我几年没有用 Windows 跑过 RoR 所以我已经不确定 windows 上的表现是进步还是退步了...
但是从各个 rails core team members 的言论来看他们是更加重视 Windows 平台了...
“@rerouse also, Rails ABSOLUTELY runs on Windows. Windows support is a requirement for any new Rails feature.” -- yehuda
不管你承不承认:"Window is important, just like PHP.." :D
我希望有条件的朋友多帮忙回答一些 windows 上面特殊的问题,发布一些 windows 上搭建环境等容易遇到的问题。
如果你能帮助 windows 给 rails 或者一些 gem 打 patch... 那将是对中国社区更大的帮助...
绕过问题,并不是解决问题的最好办法..
Let's face it... and do it better... :)
windows 是一个更广阔的天空。但是由于其的特殊体系,也需要投入更多的精力。不过我觉得 Jruby 已经很好的解决了这个问题,是一个更适合 windows 平台的选择。 如果 rails 把 windows 也纳入需要照顾的范围,会让 rails 更加笨重,缓慢,不再敏捷。因为 windows 的理念就是这样,和 unix 完全不是一个风格的。
最终都要工作在 unix 上,对依赖 unix 环境的东西推荐 unix 这是节约新手的时间,和排斥不排斥 windows 没有关系。在大家谈论 rvm 时自己却要去找 pik, 不是很没有意义吗。
一楼的回答很到位,win 是非 unix 架构,很多兼容起来确实成本很高。ror 正式环境也是 posix 系为主。所以花时间在 win 下面确实不值得。解决方案还是用 jruby 通过 jvm 来减少平台差异。或者主流的用 vbox 虚拟一个 ubuntu mini 或者 debian 或 arch,给个 512 的内存就可以跑的很欢。
#6 楼 @poshboytl 为什么不能让他先学 unix? 这世界上有无数问题,你不换方向,你的一生能全部解决的了吗?将时间耗在没意义的问题上不值得,请寻找最简单/直接的解决方法。
如果连学习 linux 的基本都不会,这样的开发人员确实让人担心。就像前几天的环境调查,大部分是 mac,linux,可见主流用户的环境,所以既然做 ror 还是要主流点吧。同期待 win 8。自己作为看三个平台的老用户,linux 确实值得开发人员去了解和学习。
only 某平台我一直觉得是 windows 甚至是一些 mac os 的理念。
http://www.gnu.org/philosophy/ 我很喜欢 GNU 的哲学,这是一个态度和追求问题。
windows 最主要的问题是无法跑起生产环境来。
大部分常用 GEM 不会是很大问题,基本上 10 个有 7 个 windows 还是能跑起来。
有很多人质疑过 railsinstaller 这样的东西,我觉得 railsinstaller 挺好的,至少是抱着解决问题态度。
#8 楼 @cless 当然可以让他先学... 而事实上社区里(中国)不都是这么回答的? 先学 unix 只是会增加学习成本...
换方向意味着你放弃解决这个问题,这是可以的。因为有些问题你这辈子不需要解决,或暂时不需要解决。
根本问题就在于 windows 的问题需不需要解决,我觉得需要。 而事实上 core team 也在解决。他们并没有说不解决。 而普通的 windows 用户需要做的是帮助他们,这不是他们几个 core team members 自己的事情。任何一个 issues 的 report,任何一个 patch 都是积极的...
如果都绕开了,谁来提 issues,谁来打 patch?
#12 楼 @poshboytl 我就是从 windows 开始学的,因此我感触较深,很多 windows 上的问题到了 unix 下不成问题,ruby china 没几个人用 windows, 你说的 core team 里也没几人用 windows 吧,能期望谁来给你答案?windows 上的 issue 是必要的吗?不会 unix 的想要开发 rails, 有几间公司会要人,这是必学的啊
#15 楼 @poshboytl 所以说,你终究是希望一些不存在的 "解决问题者", 去解决 windows 上新手的问题?这里都没人用 windows, 你全心推广 windows 还好,但你自己都没在用了,你到底在呼吁谁来 support?
#16 楼 @cless 摘自我的原文: “我希望有条件的朋友多帮忙回答一些 windows 上面特殊的问题,发布一些 windows 上搭建环境等容易遇到的问题。”
这个人应该不是你我,但是我相信有: 至少我就看到过,我对 @metal在这一贴的回答就表示很好: http://ruby-china.org/topics/944
windows 用户一大把。问题是 ruby 和 rails 往往是很多人第二个工具,也许他经常在 windows 下开发,他可能因为 ruby 或者 rails 而装了双系统,如果每次用 ruby 或者 rails 都去切换系统,还是挺麻烦的。还有些公司用的员工管理系统都是 windows only 的。
在中国完全不用 windows 的用户非常少。
这个看站在什么角度去看 rails 的核心人员说这句话的意思是要 ROR 更多的支持 win dows 但问题其实不在这里,ROR 在 windows 下跑的其实没有什么问题,问题在于支持他的第三方上 比如以前的 Rspec /Cucumber,Cucumber 早先根本就不能支持在 Windows 上跑,Rspec 也是千难万难,并且受到限制,现在我不太清楚,不玩 Windows 了。 各种第三方也是对 windows 支持不佳。这才导致在 Windows 学习 ROR 的成本非常之高 所以让新手去学习 Windows 上的 ROR 是不明智的,因为有的东西根本就不能在 Windows 跑,会浪费大量的时间去解决这些问题,而 Linux 基本上不会有这个问题 Linux 的学习成本 其实很小,装个虚拟机,也就一天的问题,基本就能搞定。
如果有一定的能力后,去为 Windows 上的 ROR 做些贡献是没有问题的,但是还在学习的阶段,去从 Windows 入手是不明智的,所以我不建议新手去搞。
以前我在一个公司工作,公司里面水平最高的 Rails 程序员用的是 Dell 的笔记本,一直在 Windows 下面开发 Rails 应用,问及原因是他晚上回家要用这个电脑玩 wow,并且懒得用双系统,懒得切换... 所以我对能坚持一直用 windows 的 Rails 程序员表示敬意!
同意楼主,遇到问题解决问题而不是回避问题。 像我,虽然家里用 Mac,但是单位只能用 Windows, 那我也喜欢用 Ruby,谁让咱喜欢她呢。ruby 在 windows 下用 RubyInstaller 下安装很方便。主要就是有第三方的 gem,有可能需要编译,用 Devkit 能解决一大部分问题,还有一小部分 native gem 确实在 windows 下编译不了,那也没辙 :>
再举个例子,由于工作需要,需要在嵌入式系统的程序中嵌入一个脚本引擎,咱当然是想用 Ruby 了,但是系统是 Windows CE 5.0,6.0(搞过嵌入式的朋友应该知道),WinCE 系统的 API 比 Windows 裁剪掉了很多,所以移植起来费点事,但最后也是移植完成,交付使用。因为机器和系统是客户的,总不能让客户把系统也换了吧,换个嵌入式 linux,这根本就不现实嘛!有些事情是我们决定不了的。
所以说,一律让来社区提问者都用 linux 和 mac,同样也不现实。他们不能使用 Linux 也肯定有自己的原因。有条件能帮的就帮一下,不能帮就精神支持一下,这样咱们的 Ruby 社区才能慢慢发展起来。
@qiukun 我 ubuntu 刚成功,写了个 wiki, 话说没显示出来,难道在审核嘛???? 你先看这个 按照 http://blog.sudobits.com/2011/10/27/how-to-install-ruby-on-rails-in-ubuntu-11-10/ 装完 rails 后 加上下面评论里的 gem install nodejs 就好了
我们基本上都是在 Windows 上用 ROR 的,也许用的 gem 比较少或开发的系统功能比较单一?是碰到一些问题,但还能解决。日本的 ruby mailling 上也有很多人在 Windows 上用 ruby 开发啊。还有,目前在试用轻量 Ruby(mruby),最终和 C 结合编译,调试的开发环境也是 Windows 的。。
#26 楼 @poshboytl 当时我使用 Ruby1.9.2-p0 进行的移植。等 mruby 出来之后,在嵌入式下使用 ruby 应该就方便了。
Windows 下弄个虚拟机,比如 VirtualBox,里面装 Linux,通过文件共享的方式做开发。 这样工作,生活,娱乐三不误,我们就是这样弄的,哈哈。
Windows 有这么大的用户群,不考虑实在是可惜。 如果 Ruby 能在 Windows 下完美运行,很多人会懒得去折腾 Linux 和 Mac,不要给我谈开源、自由... 我的很多朋友就是因为 ruby 太折腾而放弃转投 Python。 @huacnlee ruby.taobao.org 上建议添加 rubyinstaller、railsinstaller 的镜像或下载链接,我深圳电信 4M ADSL 从官方下载只有 50k,煎熬 ing...
#40 楼 @huacnlee “工欲善其事,必先利其器。”说的非常有道理。 #39 楼 @camel 我在 Linux 上用 RubyOnRails 而不是 Windows,不是因为开源,和自由,而是在 Windows 上用 RubyOnRails 问题太多啦,而且很多问题难 google 到,研究成本太高,严重降低开发效率。
我个人感觉,RubyOnRails 的绝大部分用户都在 Mac 和 Linux 上,所以,网上的关于 RubyOnRails 的 Linux 上的各种问题的解决和文章特别的多,所以使用 Mac 和 Linux 可以得到更多的帮助。
所以这很矛盾,国内的 RubyOnRails 新人主要都使用 Windows,而关于 Windows 的资料却是最少的。 Windows 上的新人真难啊,继续努力,不要放弃,想办法换成 Linux 吧。 Ruby On Rails In Linux 才是正道,而且不沧桑!
几个个人观点,供参考:
这点可能比想象的要麻烦,rails 并不仅仅只是依赖于 ruby,更多的是依赖于开源环境,本人是被破于 windows 转向 linux,但对于在 windows 上开发 ruby 一点都不看好
我前几天要在 windows 下打包程序,想用写一些 批处理文件 (.bat) 来处理一些事情 结果发现 windows 现在连 deltree(删除目录)这个命令也没有。
大家不要和我说 cygwin, mingw, powershell 这些;这些我都知道,前两个还以前常用,我只是想说 Windows 是有多么的对程序员不友好。
我以为,Ruby 要想发展壮大,必须重视市场份额最大的 Windows 平台
生产环境我们自然是用 Linux,但开发呢?如果可以完美运行于 Windows 平台,一则可以大量接纳新人进入社区,二则也方便我们开发人员进行开发,毕竟我们有很多时候还是需要使用 Windows 的
像我们这种高傲地坚持只支持 Unix/Linux 的想法,无异于一个 Java 开发者放着高生产率的 Eclipse 不用而非得死守 Vim
PS:我是 Vim 党,也熟悉 Linux,但现在在学习 Ruby 的同时也在整 Win32,像我这种情况就不可能脱离 Windows,希望 Ruby 社区能更加重视 Windows 这个平台
我想 Rails way 应该是不把精力主要放在 window 上
convention over configuration, 开发者们使用 unix/linux 平台已经是一种惯例,如果显式的不支持 windows,可以强迫更多的开发者使用更好的操作系统。
公司强迫要求在 windows 下进行 ruby 开发和部署?不知道这是什么样的公司,开发热塑膜 windows 桌面软件?那么用 ruby 干嘛呢。。
我记得以前学 Lisp 的时候(被 Paul Graham 洗脑)使用 windows 也是一大痛苦。后来就强迫自己学用 Linux。其实倒不是 Unix 本身难学,而是杂七杂八的琐事要花时间去摸清(安装软件,等等)
后来 Lisp 的社区也是为了让初学者更容易上手,做出了个 Lisp In A Box,就是省了安装配置的麻烦。
现在虚拟技术好多了,可以用 vagrant 把整个 Rails/Linux/mySQL 配置环境打个包。对用户来说就是个黑盒子,也不用去想它是 windows 还是 Unix
讨论好激烈,个人感觉 @poshboytl 本意在于用 Win 玩 Rails 的朋友可以多分享自己的经验,帮助更多在 Win 下做 Rails 开发的朋友,而不在于平台的选择,平台本身没有问题,只是 Unix 系对 Rails 的兼容性会好点,目前来说是事实。Win 本身跑 Rails 也是没有问题的,只是有时候会有些诡异的问题,但还是能解的。
在 Windows 服务器上跑 RoR 本来就是本末倒置,为什么不用自己家的.net 呢,开发也很快捷方便,还有强大的 IDE 环境;RoR 更适合在类 UNIX 系统上跑的,既然早晚要在 UNIX/Linux 部署,为什么还非要在 Windows 下开发呢,是不是开发的时候还得兼顾作图?兼顾游戏?
自私一点地说,做 Ruby/Rails 开发必需学习 Linux/Unix,就像开发 iOS 必需要用 Mac 和 iPhone 和每年 99 美金(不知有没有记错)的开发者帐号,这叫什么?门槛!
有一定门槛才能使整个生态系统更健康发展,对比一下 iOS 和 Android,再看看遍地 Java 程序员鱼龙混杂
Ruby 最大的问题是 Rails 太出名了。。。就像我,并不对开发 Web 应用有多大兴趣,而只是喜欢 Ruby 这个语言本身;平时工作时也会写一点儿 Ruby 来帮忙(受到 Everyday scripting with Ruby 的影响),也并不会像 Web 开发那样安装很多 Gem。对我来说,至少作为脚本语言的,这部分能做到 Windows、Linux 和 Mac OS 下几乎一样就可以了。