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

ery · 2012年02月03日 · 最后由 SophiaRodriguez 回复于 2024年07月30日 · 112403 次阅读
本帖已被管理员设置为精华贴

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

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 有点难跨平台。

匿名 #10 2012年02月03日

+1

#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 上开发,也没有楼主说的那么绝对

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

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

windows 上用 rubymine 呢

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

其实吧,我个人认为,操作系统仅仅是一个平台而已。作为一个开发框架,如果不能适应大多数主流操作系统,而只是偏执于个别系统的话,那岂不是显得很不包容?不要排斥系统,因为那约等于排斥了相当一部分用户。正如楼上兄台所言,如果 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,就看的了这篇文章,果断放弃,还是使用苹果系统吧😅 😅 😅

deepin 也不错

a112121788 null 提及了此话题。 11月30日 20:28

教程少,要求多。也难怪用户少

There are relatively few learning materials about Ruby on Rails on Windows. Most of the learning materials buckshot roulette and usage experience are based on Linux and Mac systems. Therefore, new learners may have difficulty finding relevant learning resources on Windows.

如今的话在 win 上的话可以考虑 wsl。

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