在Windows机器上使用Ruby进行开发是否会产生反作用?

时间:2010-02-13 23:18:05

标签: ruby scripting

这似乎非常适得其反,因为许多宝石会破窗户。我一直在处理这么多mysql和ruby-mysql gem问题(在gem本身中出现seg故障,一个名为UnixSocket的类显然在windows机器上不能正常工作等)。

我只是在浪费时间在这里?我应该使用不同的脚本语言吗?

3 个答案:

答案 0 :(得分:8)

我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我在Windows上,我得到的印象是它不是Windows原生系统。

因此,经过多年主要使用Windows后,进入Ruby促使我切换回原来的系统Unix,这次是Linux。 Ruby确实以较少的麻烦运行,并且在其原生环境中运行bash比只是大多数好的Cygwin更好。我很高兴。

然后我的新雇主让我切换到Mac。现在我真的被宠坏了,但真的很开心。

我意识到这是主观的,但ISTM认为Linux比Windows好很多,Mac比Linux好很多。如果我愿意,我仍然可以在VMWare Fusion中运行Windows,但我没有。我确实有一些Linux VM。

我认为我真正想说的是,有一个原因是Ruby没有最好地部署在Windows上。那种运行Ruby的人是..我试图在这里想到一个非贬义词......不太可能在Windows上找到。

所以这是你的转折点。是的,.net是一个复杂且记录良好的环境,是的,Windows已经可靠几年了,是的,它在这一点上是一个值得尊敬的系统。是的,它运行Stack Overflow并且一些大师是Windows人员。但这只是一种试金石的测试...再次错过了那个词......

很多人都在运行Windows,因为他们只是不知道还有什么可以运行。如果您必须自己购买系统,Linux是一个不错的选择。如果您或您的雇主能够负担得起,那么(Unix-underneath)Mac可以为您提供Linux所做的一切以及Mac特定的世界。

是时候选择......: - )

答案 1 :(得分:1)

我在Windows上使用Ruby开发了多年,包括在Windows和Solaris服务器上构建和部署针对Oracle,MySQL和SQLServer运行的“企业”Intranet Rails应用程序。

同意,有一些宝石已经编译了作者没有构建Windows版本的组件 - 没关系,它是一个开源平台,如果他们不想这样做就没有。同样,你完全有资格(a)忽略没有mswin32或mingw32版本的库,或者(b)通过自己编译来回馈它们!

对于Windows上的MySQL gem,IIRC,你需要“纯Ruby”适配器,它不使用MySQL C API:http://github.com/tmtm/ruby-mysqlgem install ruby-mysql

答案 2 :(得分:0)

我不认为你在浪费你的时间。我和两个在使用Windows XP的Ruby on Rails应用程序上做过大量项目的人一起工作,就像主要的长期项目一样。他们似乎根本不介意。他们都使用NetBeans IDE处理它。 (它有一个特定于Ruby的版本。)

当我第一次开始使用Ruby时,我自己尝试过,并没有遇到很多错误或宝石的问题,尽管有些东西很笨拙。通常有一种解决方法。

我决定非常喜欢使用OS X或CentOS Linux进行Ruby开发。但我知道可以在Windows上工作。

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

需要注意的另一件事是整个Ruby世界和文化都非常面向使用bash shell的Unix命令行。你所有的教程和东西都会有点假设。他们将会有“转到shell并运行# rake db:migrate之类的指令,如果你有一个功能齐全的shell,命令完成,命令历史记录等,那么按照这些说明会容易得多。所以如果如果您希望在Windows上工作,可能会考虑安装类似MinGW的内容。