除了 shell 的原因,还有别的重要原因么?
以前在 Cygwin 上用 Ruby 做的很欢,后来某次升级后,nokogiri 编译 libxml2 和 libxslt 死活过不了,遂放弃。 用 Vagrant 跑个虚拟机还是不错的。
各种莫名其妙的问题,同样的环境在 mac 或者 linux 下面跑就没啥问题,一到 windows 就容易出状况,还不一定有解决办法。再说 rails 项目写好了都是跑在 linux 环境下,直接模拟真实环境才会减少未来部署的问题。
#8 楼 @fighterleslie 我只在 Windows 下写 Ruby,不常在 Windows 下玩 Ruby。 而且 Ruby 本身其实还好,但是别想着去玩 Rails 之类的东西就行了。
血的教训告诉你为什么不要在 windows 系统上搞东搞西:
事情是这样的,前几天不是英语四级出成绩嘛,我一查我成绩,嚯,才五百分? 正好手头有全校的报考资料,遂决定写个爬虫把全校的四六级成绩都爬出来,看看自己处在什么位置. 我没有装 VM,用的是 win10 和 ubuntu 的双系统,因为懒得重启,这一切都是在 win10 系统上进行的. 而这,正是噩梦的开始。
写完代码,ctrl+b 运行,却报 nil class 的错,我以为是我的代码出了毛病,跑去把 mechanize 官方文档看了一遍,删了代码重新写,然而还是报错... 不断的检查代码 N 遍,肯定自己的代码没问题之后,我发现报错是因为我没有给 sublime text 管理员权限... 虐不虐?你说虐不虐?
如果不想装虚拟机,可以这么干。
申请一个免费的 EC2 linux 主机,文件共享用 samba,在 windows 上写代码,用 putty 连过去当 shell 界面。
我非常想让 ruby 代码能够在 windows 下顺利执行。如果是像 mruby 那样能随意镶嵌到其他程序里是我梦寐以求的。 但是,ruby 的 gem 很多都不是用纯 ruby 写的,或多或少依赖于其他的 c 语言库,这个时候,由于 windows 下没有像 mac 下 brew,或 ubuntu 下 apt-get 这样方便的工具。新手遇到此类问题是很难解决的。 其实,这样的问题,在 mac 下也有,装个 therubyracer 简直恶心死新手。