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

ery · 2012年02月03日 · 最后由 ruby_xiao 回复于 2018年07月09日 · 95332 次阅读
本帖已被设为精华帖!

标题:新人千万不要在 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天, 但绝不能再短了。

共收到 88 条回复

windows 上可以用来入门 但当你需要使用某些gem、插件等时、痛苦随之就来了。

这是个偏执狂的年代,无论是哪个方向....

windows下如果遇到使用了unix/linux 系统特性的native gem ,那这个gem在windows下就很难编译了。 :<

挺支持楼主的,磨刀不误砍柴工。linux是现在程序员的必修课。所以让适合的系统做适合的事。linux还不用花钱买。除非你有很多时间入体验各平台的差异,那么就不要其烦的折腾吧,不过遇到走不通的路,换条路试试。

Ruby on Rails 而不是 RubyOnRails, 此外顺便提一下简称是 Rails 而不是 ROR

我再重复一次,对于不太习惯在 linux 系统上作业的同学,可以采用在虚拟机里安装 linux 操作系统,并把 rails 环境搭建在上面,然后把项目共享到 windows 下,使用 sublime text 2 进行开发

非常赞同

#3楼 @skandhas nod,这是根本,当初在windows搞什么redcloth 那个痛啊。。。

#6楼 @roamlog 同意,装个vm上装个linux一切都清静了

@ery 我觉得 Git 在windows下难用,主要是windows 控制台只支持 GBK 编码。 *nix 等生产环境下文件名及内容一般是 utf8,而Git 是使用当前平台的编码保存文件名的,这样就让Git 有点难跨平台。

#8楼 @jinleileiking 呵呵。如果是单纯的native gem倒还好办,windows下配置好Devkit基本就能搞定。但是使用系统特性的gem 就不好办了,如有的gem 使用了 linux的epoll,那windows下就肯定编译不了。

windows下学习Ruby语言本身,其环境还是比较容易搭建的。一个RubyInstaller和一个Devkit足矣。如果是做Rails的开发环境,确实是挺折腾的(主要就是第3方gem和插件)。

另外,许多著名的开源工程对unix/linux的系统是支持的最好的,对windows只是部分支持,还有的项目如Redis官方明确说不打算支持windows。这就有些悲催了。

您辛苦了 %>_<%

#11楼 @skandhas 是啊,我记得有个gem要用rmagick, 你说在windows玩,不得吐血了。。。。。

呵呵,支持一下,没钱买mac, 只能虚拟机加ubuntu,感觉还好,也不是很麻烦

诗意

今天mac mini刚好送到,终于可以开始玩rails了,有没有适合零linux经验的mac学习资料?

+1 当初我就是在windows下学的Ruby/Rails,好痛苦........浪费了大量时间

#16楼 @john1king mini 配了什么显示器和键鼠啊?

哈哈,正在用Windows的一般现在还有点嘴硬,已经改用Linux的都十分赞同,为了Rails买Mac的一脸鄙视:哥为了这个都买了个电脑,你就不能装个vm Ruby On Rails本来就是了爽,你非要不爽,何苦来由

虚拟机都不要装,在 Windows 下无法专心学习, LInux 下没什么 QQ 之类费心的,心静~

#20楼 @fenprace 赞同,做开发时还开着IM, 会严重分散注意力

@azhao 说的太对了,前几天我还是属于嘴硬一族,这两天已经打算换在Linux上用了。目前不考虑为Rails买Mac,Ruby的应用领域不仅仅限制于Rails。。。

#18楼 @huobazi mini只有一台主机,我现在还是直接用老机器上的设备,准备以后再慢慢更新

#24楼谢谢 @roamlog , 此文我早前看过 http://zengrong.net/post/1249.htm 文章的作者我也认识,还帮他解决过Git 方面的问题

这确实能解决一部分问题,但是你想过没有,如果在 cygwin 下和其它以 gbk 做为内部编码的命令行程序会有多麻烦呀。

#25楼 @liuhui998 你有这方面折腾的总结性文章不,我的团队中有使用 win 的,确实碰到些问题,不清楚现在是否有最优解。。

为了学习ruby开始用linux小白飘过

#26楼 @roamlog 我目前的经验是的不要使用中文文件名。 还有,开发机最好不用 windows ...

也不是没用过Ubuntu,前几天装的系统,结果由于学校的网络问题各种更新和软件安装不上,各种乱码bug无法修复,于是就勉强的在windows上开始学习Ruby了。。看了这篇贴子,好吧,再用虚拟机安Ubuntu试试。。刚用虚拟机安了一个Mac,略卡,Ubuntu应该会好一点吧。。

我认为Linux是很多程序员的一个坎,相对于windows会有个较长的学习曲线,但当你体会Linux的优势后,你会发现使用Linux做rails开发是多么的幸福

BSD也是一个不错的选择哦,哈哈

#29楼 @zerojehovah 在Ubuntu上如果遇到 软件安装失败 或者 各种乱码问题, 你可以来这里发个帖子求助,相信你会得到很多人的帮助。 因为这里用Ubuntu的人实在是太多了。 但是如果你在Windows上用Ruby,如果出现了问题, 那么你在这里能得到最佳答案,应该是“买个Mac或者装个Linux”

看了之后有向学习linux的冲动! 但还是先入门ROR之后再说吧~

哎,明明是导演没导好,偏偏会有些观众想得太多,能帮导演圆戏。

做rails 在windows上确实很痛苦,不行就上虚拟机吧。

我觉得windows下也很好用,好几年了,基本问题不大。 当然是在linux尤其是ubuntu下爽了,但是不习惯命令编辑的还是windows方便,开发是没有问题 的。

不过如果从来没有接触过linux的话,还是多折腾下linux比较好,无论什么方式都可以。

有条件的就用非windows,只是windows也要用,所以没有办法,两套系统太麻烦了。

献上windows netbeans界面,最近重装系统,子体不好看了

另外可以用samba建立一个共享目录,服务器跑在ubuntu上,开发写代码在windows上,watir测试也在windows上,普通PC就刷刷很快了

其实,我真心希望 ruby 在windows下的表现接近 linux下的水平,这样才有助于社区的发展壮大,这样才是真正实现了跨平台,这样才不会有人担心现在做好的项目,将来没有人维护。

一直在windows上写rails或者ruby代码,没觉得有啥不方便,或许是还没遇到不兼容的gem

#39楼 @outman 这倒不用担心,互联网领域部署主流是 Linux,开发环境主流是 Linux 和 Mac。

@Rei 主流是Linux那是肯定的。但开发环境,主流还是 Windows 而不是 Linux , Mac 。至少国内是这样的。大批的 PHPer, JAVAer 都是在 Windows下开发程序并部署到 Linux上,这包括互联网程序也包括大量的企业程序。目前 Ruby 在国内的火热程度甚至都不及 Python,就是很多企业对程序的后期维护很担心。

#42楼 @outman 这看环境了,每个人视角都不一样,像我周围的同事都是用 Linux,所以完全不用考虑 Windows 开发环境如何。要招人,只要写上条件:会 Linux 或 Mac 就行了。当然,我看到的只是局部环境。

try this if you are on windows:

http://railsinstaller.org/

@hunter 也是采用 samba在win上共享的方式,archlinux,非图形化,速度还可以,软件安装速度也不错。 @huobazi 经费考虑的话可以最便宜的IPS显示器,LG有,优派的蓝牙键盘100+键能对上,朋友推荐。

伤不起啊 我是ubuntu 支持者,穷人 用不起苹果 反正不用 微软的写代码 IDE 的也不用它 太懒会懒到很麻烦

好想买台mac啊,穷人,倒腾unubtu去吧,在windows下弄ruby on rails 确实太闹心与浪费时间了

现在windows上用rails的话倒是有个RailsInstaller,如果只是用Rails的话倒没什么问题,不过要是想用其他的gem的话问题多多,很多gem都不支持windows下使用,还不如直接装个ubuntu算了,虽然ubuntu上部署Rails也不如Mac简单,不过比windows还是好多了。

元芳,您怎么看?

你们这样FUD Windows是不对的。。。

Ruby 2.0.0其实在Windows下跑的挺欢的……

ubuntu 好用? 我被 SQLite3 dependence hell ,还有源的问题逼回了windows

楼主你最后几句话让我知道了一个事实,我是天才。我1周熟练的使用了linux,部署了开发环境,简单的开发了一些东西,并且解决了一打问题。我以为大家都是这样呢。。。(by the way 俺是自学的)。

#51楼 @zjude90 那你注定用不了linux,也不要再用Windows下的ror了,作者大概是这个意思,其实用过gentoo就觉得ubuntu是天堂了

#52楼 @wudixiaotie 只是部署下来才是冰山一角,以后会有各种各样问题出来的,一周注定认识是浅薄的

学习了,看来要好好学习Linux了。

在小贴士中看到这个帖子

这是一我第一次觉得小贴士这是一个很cool的功能

帖子的格式非常清晰

很惊喜的发现,这个论坛在回复的时候还支持markdown格式的输入,觉得很有意思

内容受用,已然上了贼船

这里的内容我基本都是认同的,因为已经完成了自我催眠后发现的这个论坛

ubuntu也不是万能的。。而且ubuntu运行rails时出现问题后网上的相关解决方法更少

在windows上很难用程序员的方式解决问题~

在win一样的,各种工具在linux上有的win上也有

膜拜啊

#52楼 @wudixiaotie 你这么历害,就帮我解决个问题呗

不得不说,Ruby对windows的支持太差了,在gem问题上耗费了不少于1周了,还是没有解决问题 无法逃离windows...安装虚拟机电脑又会变慢, ruby社区的人没准备把ruby改的对windows更加友好么?做到这点很难么?

黑苹果,全都满足了。

忽然就想起了那本积灰的《鸟哥的私房菜》

#62楼 @mogodb 其实 让Ruby对Windows更加友好,不是非常的难, 而是非常的非常的非常的难!

#65楼 @ery 因为ruby人员很少考虑windows么?

#66楼 @mogodb 因为ruby人员 不用windows

python在windows上表现的不错。一定要在windows下开发的话就用django吧。

楼主说的有一定道理,但有点太绝对了 我们这边一直是win上开发, 而且我们做的是一个使用ruby和ror做很复杂的自动化系统 ror主是展示自动化测试结果,ruby做自动化测试(嵌入式产品) 这个系统绝对是世界上目前为止非常前沿水平, 全都是在win上开发,也没有楼主说的那么绝对

#69楼 @wuhlcom 说的好!

#63楼 @jialin 你在用黑苹果么?用的啥硬件配置呢?

在windows装了个mac的虚拟机 😄 好用

学习了

windows上用rubymine呢

#74楼 @citysheep 你试下rails?

ubuntu 12.04

生命在于折腾,没有折腾哪有乐趣。。。。。。。。。

其实吧,我个人认为,操作系统仅仅是一个平台而已。作为一个开发框架,如果不能适应大多数主流操作系统,而只是偏执于个别系统的话,那岂不是显得很不包容? 不要排斥系统,因为那约等于排斥了相当一部分用户。 正如楼上兄台所言,如果WINDOWS下ROR用不了,那俺用DJANGO 去了。所以不是技术无法实现,而是心中那平台歧视的槛一直在作怪。

新人现在其实无需纠结,想用windows其实并不十分难,只要有一定的搜索经验,适当的英文水平,还是容易搭的。 实测半小时之内搞定,冇问题。

#79楼 @hxhxd 同意,其实最快的方法就是用我的集成安装包

抛开rails不说,程序员在linux/mac下做开发,确实太适合了,当然要熟悉和喜欢用teminal

我搞了是10个小时gem pg install的问题,放弃了。买了个mini mac。

😂 服务器是windows server,还是年费的

感觉身边的エンジニア用mac的多...😀

用mac ,能让我省时间🇻

hxhxd 回复

我搭完了 用rake 进行数据库迁移时 cmd 报 系统找不到指定的路径

之前 没有mac 的时候 在笔记本双系统 ubuntu 14.04 和虚拟机 都试验过 体验也不错虚拟机更好一点,还可以用win下的qq。

ery Linux、Ruby 不冷没天理! 中提及了此贴 02月01日 18:44

新手学习中,刚要搜索如何在windows中按照rails,就看的了这篇文章,果断放弃,还是使用苹果系统吧😅 😅 😅

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