“在 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天,
但绝不能再短了。