在Windows机器上开发Ruby是否效率太低?

5

在Windows上,很多宝石(gem)都会出现问题,这似乎非常低效。我一直在处理许多mysql和ruby-mysql gem的问题(gem本身出现seg faults,一个名为UnixSocket的类在Windows机器上显然不工作等等)。

我是在浪费时间吗?我应该转向其他脚本语言吗?


8
你可以考虑换用其他的操作系统,这是一个值得思考的问题... ;) - DGM
你正在做哪些类型的项目?大多数 Ruby 可以在多个平台上完美运行。如果你不需要那些不能在 Windows 上良好工作的特定的 gem/module,你可能会发现 Ruby 完全适合你的项目。 - Sam Post
这是mysql gem的问题...我尝试了2-3个不同的版本。真正的问题在于我使用了最新版本的MySQL,在windows上它们无法兼容。因此,我回到了较旧的版本MySQL,现在看起来运行良好。 - Zombies
他们肯定不支持在Windows上的64位版本的MySQL。 - Zombies
我完全切换到了Linux。我很喜欢它,因为显然我是一名程序员,而不是一个用户,所以它对我来说更直观。另外,Ruby 1.9的解释器在Windows和线程方面存在问题(非常严重的问题),所以最新版本在Windows上似乎也不太好用。 - Zombies
3个回答

8
我对在Windows上使用Ruby的经验很少,但当我开始学习Ruby时,我正在使用Windows,并且我得到了一个普遍印象,即它不是Windows本地系统。
因此,在多年主要使用Windows之后,进入Ruby促使我切换回我的原始系统Unix,这次是Linux。 Ruby运行起来比较容易,并且在其本地环境中运行bash比仅仅可以凑合的Cygwin更好。 我很高兴。
然后我的新雇主让我切换到Mac。 现在我真的被宠坏了,但真的很开心。
我意识到这是主观的,但我认为Linux比Windows好得多,而Mac比Linux好得多。 如果我想的话,我仍然可以在VMWare Fusion中运行Windows,但我不想这样做。 我有一些Linux虚拟机。
我认为我真正想说的是,Ruby不是最适合部署在Windows上的原因。 运行Ruby的人群...我在想一个非蔑视性的词...不太可能在Windows上找到。
所以这是你的转折点。 是的,.net是一个复杂且文档完备的环境,是的,Windows多年来一直可靠,是一个值得尊重的系统。 是的,它运行Stack Overflow,一些专家是Windows的粉丝。 但是这只是一个测试...呃,我又错过了那个词...
很多人使用Windows是因为他们不知道还有其他什么系统可以用。 如果您必须自己购买系统,则Linux是一个好的替代选择。 如果您或您的雇主负担得起,(Unix底层)的Mac提供了比Linux更多的功能。
是时候做出选择了... :-)

嗯,我想我喜欢Windows是因为我习惯了它上面的许多应用程序,而且我有时也会在上面玩游戏...当我回家后,我就喜欢Windows的简单性吧......但是考虑到我现在更多地在家里进行开发(以前Windows对我来说更好),我会考虑Linux的。 - Zombies
另外,我是否应该在VirtualBox中运行Linux发行版进行Ruby开发? - Zombies
2
这可能是设置开发环境最轻松的方式。然后,您可以运行整个Linux GUI,或者您可以进行无GUI Linux安装,然后只需在主机MSWindows框中打开Cygwin或Putty窗口并ssh进入Linux主机。 - DigitalRoss

1
我已经在Windows上使用Ruby进行开发数年,包括构建和部署针对Oracle、MySQL和SQLServer的“企业级”内部Rails应用程序,在Windows和Solaris服务器上运行。
同意,有一些宝石有编译组件,其作者没有构建Windows版本-没关系,这是一个开源平台,如果他们不想,他们不必这样做。同样,您完全有权利(a)忽略没有mswin32或mingw32版本的库,或者(b)通过自己编译它们来回馈!
至于MySQL gem,在Windows上,我IRC需要“纯Ruby”适配器,它不使用MySQL C API:http://github.com/tmtm/ruby-mysqlgem install ruby-mysql

是的,我确实尝试过那样做,但它失败了,因为MySQL数据库版本太新了。 - Zombies
但是,是的,我现在已经解决了这个问题,并且我确实使用了ruby-mysql gem。 - Zombies

0

我认为你不会浪费时间。我曾经和两个人一起工作,他们在Windows XP上使用Ruby on Rails应用程序进行了大量的长期项目开发,似乎并没有介意。他们都使用NetBeans IDE(它有一个专门的Ruby版本)。

当我刚开始学习Ruby时,我也尝试过在Windows上进行开发,并没有遇到很多错误或gem方面的问题,虽然有些事情做起来有点别扭,但通常都有解决方法。

我决定更喜欢使用OS X或CentOS Linux进行Ruby开发。但我知道,在Windows上工作是可能的。

需要注意的一件事是,90%的Ruby社区都在OS X上,并部署到Linux,因此如果你使用其中一个操作系统,你会得到更多的帮助。

另一个需要注意的事情是,整个Ruby宇宙和文化非常注重使用bash shell的Unix命令行。所有的教程和资料都会假定你已经掌握了这些知识。他们会给出像“进入shell并运行# rake db:migrate”这样的指令,如果你拥有一个具备命令自动完成、命令历史记录等功能的完整shell,那么遵循这些指令将会更加容易。因此,如果你想在Windows上工作,你可能需要考虑安装类似于MinGW的东西。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接