Rails 我们不应该排斥 Windows

poshboytl · 2012年01月27日 · 最后由 Kylelkh 回复于 2018年10月18日 · 13130 次阅读

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... :)

共收到 73 条回复

windows是一个更广阔的天空。但是由于其的特殊体系,也需要投入更多的精力。不过我觉得Jruby已经很好的解决了这个问题,是一个更适合windows平台的选择。 如果rails把windows也纳入需要照顾的范围,会让rails更加笨重,缓慢,不再敏捷。因为windows的理念就是这样,和unix完全不是一个风格的。

@poshboytl 顶一下~

最终都要工作在 unix 上, 对依赖 unix 环境的东西推荐 unix 这是节约新手的时间, 和排斥不排斥 windows 没有关系. 在大家谈论 rvm 时自己却要去找 pik, 不是很没有意义吗.

一楼的回答很到位,win是非unix架构,很多兼容起来确实成本很高。ror正式环境也是posix系为主。所以花时间在win下面确实不值得。解决方案还是用jruby通过jvm来减少平台差异。或者主流的用vbox虚拟一个ubuntu mini或者debian或arch,给个512的内存就可以跑的很欢。

#4楼 @cless 如果新手不会类unix系统怎么办? 让他先学unix?

遇到问题才能解决,如果换一个方向,那只是回避了这个问题...

#5楼 @bony @cngump 我倒是很期待windows8... support posix... :)

#6楼 @poshboytl 为什么不能让他先学 unix? 这世界上有无数问题, 你不换方向, 你的一生能全部解决的了吗? 将时间耗在没意义的问题上不值得, 请寻找最简单/直接的解决方法.

#1楼 @bony Rails 本来就已经纳入了 windows的支持... “@rerouse also, Rails ABSOLUTELY runs on Windows. Windows support is a requirement for any new Rails feature.” -- yehuda 普通人要做的只是遇到问题,分享解决方案... 如果能打patch,那当然是更好的....

如果连学习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?

#11楼 @metal 我很赞同你的说法...这个问题上态度是很重要的...

其实windows的支持对我本人没有任何影响...我不在windows工作...但我仍然担心上面的支持和问题。 我希望在上面工作的人一起来解决问题。而不是简单的抱怨和说拜拜... 转变一些社区里的态度就是本帖要达到的一个目的...

#12楼 @poshboytl 我就是从 windows 开始学的, 因此我感触较深, 很多 windows 上的问题到了 unix 下不成问题, ruby china 没几个人用 windows, 你说的 core team 里也没几人用 windows 吧, 能期望谁来给你答案? windows 上的 issue 是必要的吗? 不会 unix 的想要开发 rails, 有几间公司会要人, 这是必学的啊

#14楼 @cless 必要还是不必要? 这问题我们俩讨论讨论就算数了?最多得出结论对于你我不必要... 对于windows用户他就是必要的... 对啊..core team的人不用windows 他们都要去支持windows...这态度还不够值得你我学习的?

如果他彻底说不支持了,我倒是安心了...

nodejs的作者Ryan Dahl 本人也不用windows...但是你看到他对windows的态度了没?

btw 这句话就是他说的: “Window is important, just like PHP.“

#15楼 @poshboytl 所以说, 你终究是希望一些不存在的 "解决问题者", 去解决 windows 上新手的问题? 这里都没人用 windows, 你全心推广 windows 还好, 但你自己都没在用了, 你到底在呼吁谁来 support?

#16楼 @cless 摘自我的原文: “我希望有条件的朋友多帮忙回答一些windows上面特殊的问题,发布一些windows上搭建环境等容易遇到的问题。”

这个人应该不是你我,但是我相信有: 至少我就看到过,我对 @metal在这一贴的回答就表示很好: http://ruby-china.org/topics/944

#16楼 @cless

windows用户一大把。问题是ruby和rails往往是很多人第二个工具,也许他经常在windows下开发,他可能因为ruby或者rails而装了双系统,如果每次用ruby或者rails都去切换系统,还是挺麻烦的。还有些公司用的员工管理系统都是windows only的。

在中国完全不用windows的用户非常少。

#18楼 @metal windows 用户一大把, 双系统用户我就是其中一个, 反正我是不愿意耗时间在 windows 上搞 rails, 你们愿意的话就继续吧

这个看站在什么角度去看 rails的核心人员说这句话的意思是要ROR更多的支持win dows 但问题其实不在这里,ROR在windows下跑的其实没有什么问题,问题在于支持他的第三方上 比如以前的Rspec /Cucumber,Cucumber早先根本就不能支持在Windows上跑,Rspec也是千难万难,并且受到限制,现在我不太清楚,不玩Windows了。 各种第三方也是对 windows支持不佳。这才导致在Windows学习ROR的成本非常之高 所以让新手去学习Windows上的ROR是不明智的,因为有的东西根本就不能在Windows跑,会浪费大量的时间去解决这些问题,而Linux基本上不会有这个问题 Linux的学习成本 其实很小,装个虚拟机,也就一天的问题,基本就能搞定。

如果有一定的能力后,去为Windows上的ROR做些贡献是没有问题的,但是还在学习的阶段,去从Windows入手是不明智的,所以我不建议新手去搞。

在windows上搞这些,最大的可能性就是花个十天半个月,然后发现这根本行不通,然后还是只能装个Linux

还是让尘归尘,土归土吧

以前我在一个公司工作,公司里面水平最高的Rails程序员用的是Dell的笔记本,一直在Windows下面开发Rails应用,问及原因是他晚上回家要用这个电脑玩wow,并且懒得用双系统,懒得切换... 所以我对能坚持一直用windows的Rails程序员表示敬意!

不是排斥,用习惯linux,再用win不习惯

同意楼主,遇到问题解决问题而不是回避问题。 像我,虽然家里用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社区才能慢慢发展起来。

#25楼 @skandhas 很赞成你的说法... :) BTW: Ruby on WindowsCE... 太帅了.... :D 有空分享一些嵌入式ruby的经验啊...lol..

新手用linux 2天没把环境搞好,按照 http://ruby-china.org/wiki/install_ruby_guide

@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 下慢死了, 现在windows 上没法用ROR ,这问题真的不是咱们能解决的 学学Ruby语言还行

为了Ruby我mac都买了,但是Windows还是离不开。 深刻认同楼主的观点,有问题不能一概绕过。

简而言之,现在的rails不适合新手自学。

很多GEM需要编译...在WIN下这个是个难题

我们基本上都是在Windows上用ROR的,也许用的gem比较少或开发的系统功能比较单一?是碰到一些问题,但还能解决。日本的ruby mailling上也有很多人在Windows上用ruby开发啊。还有,目前在试用轻量Ruby(mruby),最终和C结合编译,调试的开发环境也是Windows的。。

#34楼 @asobuwjcat mruby已经放出来了吗?记得Matz说的是今年3月份正式放出。

#26楼 @poshboytl 当时我使用Ruby1.9.2-p0进行的移植。等mruby出来之后,在嵌入式下使用ruby应该就方便了。

@skandhas mruby目前确实还没有正式放出,但是我们公司作为适用合作单位正在参与其中。

Windows下弄个虚拟机,比如VirtualBox,里面装Linux,通过文件共享的方式做开发。 这样工作,生活,娱乐三不误,我们就是这样弄的,哈哈。

Windows 有这么大的用户群,不考虑实在是可惜。 如果Ruby能在Windows下完美运行,很多人会懒得去折腾Linux和Mac,不要给我谈开源、自由... 我的很多朋友就是因为ruby太折腾而放弃转投Python。 @huacnlee ruby.taobao.org 上建议添加rubyinstaller、railsinstaller的镜像或下载链接,我深圳电信4M ADSL从官方下载只有50k,煎熬ing...

#39楼 @camel 我还是依然坚持不推荐在 Windows 下面搞 Ruby, 尤其是 Ruby on Rails。 所谓工欲善其事,必先利其器。 当然初期学习是可以的,但容易引出很多平台问题带来多余的麻烦。 我接下来回把 rubyinstall 放入淘宝镜像上面去。

从这个帖子就可以看出中国人对windows的依赖有多大。。而我现在对windows的最大依赖就是qq。其他平台的qq实在太SB了。

我个人觉得还是用Linux 工作 和学习,再装一个虚机来安装win,在别无它法的情况下我才会用windows,比如网银

#39楼 @camel 已经加上去了。

#44楼 @huacnlee 效率好高呀,不得不赞!!!

#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 才是正道,而且不沧桑!

今天在WIN下跑项目,一会直接崩溃,我还以为程序问题,就把项目拿回家,在OSX下试,结果没任何问题....NND

几个个人观点,供参考:

  1. windows不应该被歧视,同意楼主
  2. ruby程序员很多时候仅仅是rails程序员,所以猜测这可能是windows上ruby开发不繁荣的原因
  3. 我自己通常通过jruby来统一windows和linux上的ruby开发环境
  4. 对于server端开发,linux是必须的技能,要告诉不会linux的初学者,ruby社区的特点(或者说优点)不是消极逃避,而是主动学习,然后积极的“偷懒”

考虑下vagrant, 我觉得它可以在相当程度上屏蔽掉rails团队里不同开发环境的问题。

这点可能比想象的要麻烦,rails 并不仅仅只是依赖于 ruby ,更多的是依赖于开源环境,本人是被破于windows 转向 linux ,但对于在windows 上开发ruby 一点都不看好

我前几天要在windows 下打包程序,想用写一些 批处理文件(.bat) 来处理一些事情 结果发现 windows 现在连 deltree(删除目录)这个命令也没有。

大家不要和我说 cygwin, mingw, powershell 这些;这些我都知道,前两个还以前常用,我只是想说Windows 是有多么的对程序员不友好。

@hysios @huacnlee

晚上去苹果店转悠了一下,13寸的看不上,15寸的看了价格咽口水,还是先windows吧。

@piginzoo ubuntu下ruby rails都挺好的 我自己专职做Ruby,还是MBP。

我以为,Ruby要想发展壮大,必须重视市场份额最大的Windows平台

生产环境我们自然是用Linux,但开发呢?如果可以完美运行于Windows平台,一则可以大量接纳新人进入社区,二则也方便我们开发人员进行开发,毕竟我们有很多时候还是需要使用Windows的

像我们这种高傲地坚持只支持Unix/Linux的想法,无异于一个Java开发者放着高生产率的Eclipse不用而非得死守Vim

PS:我是Vim党,也熟悉Linux,但现在在学习Ruby的同时也在整Win32,像我这种情况就不可能脱离Windows,希望Ruby社区能更加重视Windows这个平台

#54楼 @ruchee Ruby社区的包容性一直是很强的,虽然推荐使用Mac或是Linux开发,但是如果有人提出windows相关的开发问题,社区也会热心的回答。

#23楼 @lgn21st - -其实双系统还是可以的,我现在也是win7+ubuntu11.1064

#55楼 @skandhas 哈哈,这不叫包容,是他本身这方面没做好。如果还不许人提,也太不像话了。

#57楼 @hhuai 不许人提有啥稀奇,nginx作者就对windows有很强的排斥性

#57楼 @hhuai 呵呵~ 作为一门流行语言(指Ruby,不是Rails)而言,对windows的平台的支持与其他语言相比,Ruby还需要继续加油 :> @fsword 如果是具体某个作品的话,那就看作者本人的意愿了 :>,Redis的作者也是不太支持windows。

Ruby的世界里不仅包括Rails和Web的话题~,还有其他很有意思的东东~ :>

#58楼 @fsword 呵呵,不同范畴了啦 ,nginx专对服务器。因为ruby一个很重要的特性是跨平台,如果在windows下跨不好,别人肯定发问。比如迅雷,office,qq等也不会重视什么非win版本。

#60楼 @hhuai ruby很重要的特性是跨平台?恐怕matz先生不是这么想的吧,不是所有的虚拟机都是为了跨os而发明的

#61楼 @fsword ruby在windows下没有任何问题啊,有问题的是一些第三方gem

我想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也是没有问题的,只是有时候会有些诡异的问题,但还是能解的。

#58楼 @fsword 很少有人在自己机器上装nginx吧(我周围是没有),一般都是内网搞一台web server用来做部署,所以nginx排斥windows对大多数程序员没有影响。 rails情况是不一样的,我们需要在本地做开发。

在Windows服务器上跑RoR本来就是本末倒置,为什么不用自己家的.net呢,开发也很快捷方便,还有强大的IDE环境;RoR更适合在类UNIX系统上跑的,既然早晚要在UNIX/Linux部署,为什么还非要在Windows下开发呢,是不是开发的时候还得兼顾作图?兼顾游戏?

希望homebrew能在windows下跑起来!

有套老的基于2.3的代码,我一直用windows对它进行开发

自私一点地说,做 Ruby/Rails 开发必需学习 Linux/Unix,就像开发 iOS 必需要用 Mac 和 iPhone 和每年 99 美金(不知有没有记错)的开发者帐号,这叫什么?门槛!

有一定门槛才能使整个生态系统更健康发展,对比一下 iOS 和 Android,再看看遍地 Java 程序员鱼龙混杂

想问下win7用eclipse3.7为什么装不上RDT?

Ruby最大的问题是Rails太出名了。。。就像我,并不对开发Web应用有多大兴趣,而只是喜欢Ruby这个语言本身;平时工作时也会写一点儿Ruby来帮忙(受到Everyday scripting with Ruby的影响),也并不会像Web开发那样安装很多Gem。对我来说,至少作为脚本语言的,这部分能做到Windows、Linux和Mac OS下几乎一样就可以了。

ery 新人千万不要在 Windows 上使用 Ruby on Rails 中提及了此贴 06月08日 15:20
piginzoo 回复

好像知道你现在呢,15寸到手了咩😀 😀 😀

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