新人千万不要在 Windows 上使用 Ruby on Rails

作者: linux,dev
发布时间:2015-07-13 11:30:00

分享 ? ery ? 于1年前发布 ? 最后由 ericguo 于2月前回复 ? 7186次阅读
标题:新人千万不要在 Windows 上使用 Ruby on Rails 
副标题:鼓励新人在 Linux 和 Mac 上使用 Ruby on Rails !
原则:要走寻常路,不要学美特斯邦伟!
 
"在 Windows上 使用 Ruby on Rails "是个坑,
跳进去,
你就出不来了,
完了还没人能救你,
最好的方法是别往下跳!
如果
你正在学习 Ruby on Rails ,
而且你没有5年以上的开发经验,
而且你身边没有 Ruby on Rails 的高手,
而且你自己不能轻松的解决,
在 Windows 上使用 Ruby on Rails 时产生的问题,
比如 Ruby、Gems、Rails 的安装,
比如 Ruby 或者 Rails 运行失败。
那么
你千万不要在 Windows 上使用RubyOnRails。
否则
你可能会浪费很多时间在解决各类奇怪的问题上,完全不值得。
你可能会放弃 Ruby on Rails 的学习和使用,最后说一句,Ruby on Rails 真烂。
如果
你正在学习 Ruby on Rails ,
那么
我建议你不要在 Windows 上使用 Ruby on Rails 。
如果
你的钱够,
那么
建议你买个 Mac。
如果
你的钱不够,
那么
建议你可以选择 Ubuntu 版本的 Linux。
如果
你只有一台电脑,而且因为种种原因不能放弃 Windows(我完全理解),
那么
你可以继续使用 Windows,
你可以装个 Linux 的虚拟机,
或者安装多个操作系统。
 
为什么”不要在 Windows 上使用 Ruby on Rails ?“
第一点 因为学习资料
Windows 的有关资料太少上不适合学习。
我猜测 Ruby on Rails 的使用者(而不是学习者),
90%以上都在 Linux 和 Mac 上。
这导致网上共享的学习资料和使用心得,
都是基于 Linux 和 Mac 的,
而对于那些 Ruby on Rails 的新人,
他们最需要的就是学习资料和使用心得,
这导致新人很难找到和 Windows 有关的学习资料和使用心得,
虽然 @poshboytl 在鼓励大家分享 Windows 的资料和心得,
详见 http://ruby-china.org/topics/949
但是“远水救不了近火”,
而且短时间内这个状况不会有改变。
第二点 因为工具
Linux 的“命令行”比Windows好用。
Ruby on Rails 依赖“命令行”,
Ruby on Rails 的官方资料,民间资料,
大部分都和“命令行”有关,
可能微软觉得“命令行”是 Dos 时代的风格。
所以微软也不鼓励大家用“命令行”。
Windows 的“命令行”,太简单了,简单到不能用。
Linux 的的“命令行”,很好用。
Git 是 Ruby on Rails 主流的版本工具,
SVN 已经过时了。
Git 在 Windows 上不好用。
Git 在 Linux 上很好用。
这个问题还是和“命令行”有关。
第三点 因为部署
服务器的通常部署在 Linux 上,
正常人不会把服务器部署在 Windows 上,
所以早晚要学 Linux,
对于新人早晚会接触到部署,
既然你早晚都要用到 Linux,
为什么不趁现在就学习 Linux?
什么不趁现在就在 Linux 上使用 Ruby on Rails ?
第四点 因为Web
Ruby on Rails 开发出来的是 Web。
Web 是跨平台的,
所以没有道理非要在 Windows 上开发。
第五点 因为你是程序员,因为你很懒
Linux 和 Windows 的用户群不同:
Linux 用户群主要都是计算机高手,程序员。
Window 用户群主要都是普通的计算机的用户。
如果你是一个程序员,
可以理解为:
Linux 是为你而设计的。
Windows 不是为你而设计的。(除非你是 Windows 程序员。)
如果你说懒得学习 Linux,
那么我想告诉你,
你偷懒的方法不对,
使用Linux才是你最佳的偷懒方式。
第六点 因为时间投资
每年解决 Windows 上的奇怪问题,
所花费的时间,不少于学习 Linux 的时间。
学会 Linux 会对你未来的程序员职业生涯,
奠定的更多的基础,
所以相对解决 Windows 特有的奇怪问题来讲,
这些时间的花费地更加有价值。
关于Linux的学习问题
其实 Linux 入门不难,
我的入门书是《鸟哥的私房菜》,
可去书店买或者上网搜索一下在线版本,
这本书其实不是最理想的资料,
但是我没找到更好入门的中文的资料。
每天花3个小时左右的时间,
5-10天就能入门。
随感
对于新人我们应该鼓励他们使用 Linux,
因为 Linux 更加适合 Ruby on Rails 。
我们应该帮助让新手找到最佳的解决方案。
YY
其实5年经验不是必须的,
如果你是天才,
也许5个月,
也许5天,
但绝不能再短了。
 6人喜欢
    
 
=====================================================
共收到 50 条回复
 
huobazi 1楼, 1年前 喜欢 
windows 上可以用来入门 但当你需要使用某些gem、插件等时、痛苦随之就来了。
 
brook 2楼, 1年前 喜欢 
这是个偏执狂的年代,无论是哪个方向....
 
skandhas 3楼, 1年前 喜欢 
windows下如果遇到使用了unix/linux 系统特性的native gem ,那这个gem在windows下就很难编译了。 :<
 
cngump 4楼, 1年前 喜欢 
挺支持楼主的,磨刀不误砍柴工。linux是现在程序员的必修课。所以让适合的系统做适合的事。linux还不用花钱买。除非你有很多时间入体验各平台的差异,那么就不要其烦的折腾吧,不过遇到走不通的路,换条路试试。
 
huacnlee 5楼, 1年前 喜欢 
Ruby on Rails 而不是 RubyOnRails, 此外顺便提一下简称是 Rails 而不是 ROR
 
roamlog 6楼, 1年前 1人喜欢 
我再重复一次,对于不太习惯在 linux 系统上作业的同学,可以采用在虚拟机里安装 linux 操作系统,并把 rails 环境搭建在上面,然后把项目共享到 windows 下,使用 sublime text 2 进行开发
 
lidashuang 7楼, 1年前 喜欢 
非常赞同
 
jinleileiking 8楼, 1年前 喜欢 
#3楼 @skandhas nod,这是根本,当初在windows搞什么redcloth 那个痛啊。。。
#6楼 @roamlog 同意,装个vm上装个linux一切都清静了
 
liuhui998 9楼, 1年前 喜欢 
@ery 我觉得 Git 在windows下难用,主要是windows 控制台只支持 GBK 编码。
*nix 等生产环境下文件名及内容一般是 utf8,而Git 是使用当前平台的编码保存文件名的,这样就让Git 有点难跨平台。
 
Guest 10楼, 1年前 喜欢 
+1
 
skandhas 11楼, 1年前 喜欢 
#8楼 @jinleileiking 呵呵。如果是单纯的native gem倒还好办,windows下配置好Devkit基本就能搞定。但是使用系统特性的gem 就不好办了,如有的gem 使用了 linux的epoll,那windows下就肯定编译不了。
windows下学习Ruby语言本身,其环境还是比较容易搭建的。一个RubyInstaller和一个Devkit足矣。如果是做Rails的开发环境,确实是挺折腾的(主要就是第3方gem和插件)。
另外,许多著名的开源工程对unix/linux的系统是支持的最好的,对windows只是部分支持,还有的项目如Redis官方明确说不打算支持windows。这就有些悲催了。
 
superbatironmans5 12楼, 1年前 喜欢 
您辛苦了 %>_<%
 
jinleileiking 13楼, 1年前 喜欢 
#11楼 @skandhas 是啊,我记得有个gem要用rmagick, 你说在windows玩,不得吐血了。。。。。
 
dbzard 14楼, 1年前 喜欢 
呵呵,支持一下,没钱买mac, 只能虚拟机加ubuntu,感觉还好,也不是很麻烦
 
Levan 15楼, 1年前 喜欢 
诗意
 
john1king 16楼, 1年前 喜欢 
今天mac mini刚好送到,终于可以开始玩rails了,有没有适合零linux经验的mac学习资料?
 
hooopo 17楼, 1年前 喜欢 
+1 当初我就是在windows下学的Ruby/Rails,好痛苦........浪费了大量时间
 
huobazi 18楼, 1年前 喜欢 
#16楼 @john1king mini 配了什么显示器和键鼠啊?
 
azhao 19楼, 1年前 喜欢 
哈哈,正在用Windows的一般现在还有点嘴硬,已经改用Linux的都十分赞同,为了Rails买Mac的一脸鄙视:哥为了这个都买了个电脑,你就不能装个vm
Ruby On Rails本来就是了爽,你非要不爽,何苦来由
 
fenprace 20楼, 1年前 喜欢 
虚拟机都不要装,在 Windows 下无法专心学习, LInux 下没什么 QQ 之类费心的,心静~
 
liuhui998 21楼, 1年前 喜欢 
#20楼 @fenprace 赞同,做开发时还开着IM, 会严重分散注意力
 
asobuwjcat 22楼, 1年前 喜欢 
@azhao 说的太对了,前几天我还是属于嘴硬一族,这两天已经打算换在Linux上用了。目前不考虑为Rails买Mac,Ruby的应用领域不仅仅限制于Rails。。。
 
john1king 23楼, 1年前 喜欢 
#18楼 @huobazi 
mini只有一台主机,我现在还是直接用老机器上的设备,准备以后再慢慢更新
 
roamlog 24楼, 1年前 喜欢 
#9楼 @liuhui998 http://zengrong.net/post/1249.htm 看下这个有帮助不。。。
 
liuhui998 25楼, 1年前 喜欢 
#24楼谢谢 @roamlog , 此文我早前看过 http://zengrong.net/post/1249.htm 
文章的作者我也认识,还帮他解决过Git 方面的问题
这确实能解决一部分问题,但是你想过没有,如果在 cygwin 下和其它以 gbk 做为内部编码的命令行程序会有多麻烦呀。
 
roamlog 26楼, 1年前 喜欢 
#25楼 @liuhui998 你有这方面折腾的总结性文章不,我的团队中有使用 win 的,确实碰到些问题,不清楚现在是否有最优解。。
 
congteng 27楼, 1年前 喜欢 
为了学习ruby开始用linux小白飘过
 
liuhui998 28楼, 1年前 喜欢 
#26楼 @roamlog 
我目前的经验是的不要使用中文文件名。
还有,开发机最好不用 windows ...
 
zerojehovah 29楼, 1年前 喜欢 
也不是没用过Ubuntu,前几天装的系统,结果由于学校的网络问题各种更新和软件安装不上,各种乱码bug无法修复,于是就勉强的在windows上开始学习Ruby了。。看了这篇贴子,好吧,再用虚拟机安Ubuntu试试。。刚用虚拟机安了一个Mac,略卡,Ubuntu应该会好一点吧。。
 
ryancheung 30楼, 1年前 喜欢 
我认为Linux是很多程序员的一个坎,相对于windows会有个较长的学习曲线,但当你体会Linux的优势后,你会发现使用Linux做rails开发是多么的幸福
 
mobiwolf 31楼, 1年前 喜欢 
BSD也是一个不错的选择哦,哈哈
 
ery 32楼, 1年前 喜欢 
#29楼 @zerojehovah 在Ubuntu上如果遇到 软件安装失败 或者 各种乱码问题,
你可以来这里发个帖子求助,相信你会得到很多人的帮助。
因为这里用Ubuntu的人实在是太多了。
但是如果你在Windows上用Ruby,如果出现了问题,
那么你在这里能得到最佳答案,应该是“买个Mac或者装个Linux”
 
jay_16 33楼, 1年前 喜欢 
看了之后有向学习linux的冲动!
但还是先入门ROR之后再说吧~
 
hhuai 34楼, 1年前 喜欢 
哎,明明是导演没导好,偏偏会有些观众想得太多,能帮导演圆戏。
 
jonny 35楼, 1年前 喜欢 
做rails 在windows上确实很痛苦,不行就上虚拟机吧。
 
hunter 36楼, 1年前 喜欢 
我觉得windows下也很好用,好几年了,基本问题不大。
当然是在linux尤其是ubuntu下爽了,但是不习惯命令编辑的还是windows方便,开发是没有问题 的。
不过如果从来没有接触过linux的话,还是多折腾下linux比较好,无论什么方式都可以。
有条件的就用非windows,只是windows也要用,所以没有办法,两套系统太麻烦了。
 
hunter 37楼, 1年前 喜欢 
献上windows netbeans界面,最近重装系统,子体不好看了
 
 
hunter 38楼, 1年前 喜欢 
另外可以用samba建立一个共享目录,服务器跑在ubuntu上,开发写代码在windows上,watir测试也在windows上,普通PC就刷刷很快了
 
outman 39楼, 1年前 喜欢 
其实,我真心希望 ruby 在windows下的表现接近 linux下的水平,这样才有助于社区的发展壮大,这样才是真正实现了跨平台,这样才不会有人担心现在做好的项目,将来没有人维护。
 
ywjno 40楼, 1年前 喜欢 
一直在windows上写rails或者ruby代码,没觉得有啥不方便,或许是还没遇到不兼容的gem
 
Rei 41楼, 1年前 喜欢 
#39楼 @outman 这倒不用担心,互联网领域部署主流是 Linux,开发环境主流是 Linux 和 Mac。
 
outman 42楼, 1年前 1人喜欢 
@Rei 主流是Linux那是肯定的。但开发环境,主流还是 Windows 而不是 Linux , Mac 。至少国内是这样的。大批的 PHPer, JAVAer 都是在 Windows下开发程序并部署到 Linux上,这包括互联网程序也包括大量的企业程序。目前 Ruby 在国内的火热程度甚至都不及 Python,就是很多企业对程序的后期维护很担心。
 
Rei 43楼, 1年前 喜欢 
#42楼 @outman 这看环境了,每个人视角都不一样,像我周围的同事都是用 Linux,所以完全不用考虑 Windows 开发环境如何。要招人,只要写上条件:会 Linux 或 Mac 就行了。当然,我看到的只是局部环境。
 
psvr 44楼, 1年前 喜欢 
try this if you are on windows:
http://railsinstaller.org/
 
wikimo 45楼, 1年前 喜欢 
@hunter 也是采用 samba在win上共享的方式,archlinux,非图形化,速度还可以,软件安装速度也不错。 @huobazi 经费考虑的话可以最便宜的IPS显示器,LG有,优派的蓝牙键盘100+键能对上,朋友推荐。
 
jhjguxin 46楼, 1年前 喜欢 
伤不起啊 我是ubuntu 支持者,穷人 用不起苹果 反正不用 微软的写代码
IDE 的也不用它 太懒会懒到很麻烦
 
bjyuxiao 47楼, 1年前 喜欢 
好想买台mac啊,穷人,倒腾unubtu去吧,在windows下弄ruby on rails 确实太闹心与浪费时间了
 
PrideChung 48楼, 1年前 喜欢 
现在windows上用rails的话倒是有个RailsInstaller,如果只是用Rails的话倒没什么问题,不过要是想用其他的gem的话问题多多,很多gem都不支持windows下使用,还不如直接装个ubuntu算了,虽然ubuntu上部署Rails也不如Mac简单,不过比windows还是好多了。
 
syutran 49楼, 8月前 喜欢 
元芳,您怎么看?
 
ericguo 50楼, 2月前 喜欢 
你们这样FUD Windows是不对的。。。
Ruby 2.0.0其实在Windows下跑的挺欢的……

来源:http://www.cnblogs.com/huapox/archive/2012/12/01/3251583.htm

推荐: