我想知道是否有人遇到类似的情况。
公司决定必须使用Linux环境(虚拟机)而不是Windows环境进行开发的原因是什么?
这里根本没有Linux工作站 - 所有计算机都安装了Windows。有一个生产Linux服务器。
是否可以在Windows中开发ruby并在Linux上部署应用程序?
不使用Windows进行开发有什么好处?这只是更好的表现吗?
谢谢
答案 0 :(得分:10)
我认为主要的优势是您的开发环境与目标部署环境类似,因此当您最终部署时,您希望与不同环境相关的问题更少。这对于桌面应用程序而言可能比基于服务器的Web应用程序更相关,但在这两种情况下,您都必须确保您的依赖项(UI小部件或服务器进程)在两个平台上都可用并且足够相似。
其他优点?在Linux上开发可能更便宜。不能说性能总是会更好。
答案 1 :(得分:5)
除了明显的原因,某些宝石,数据库服务器等的兼容性可能存在问题,还有另一个,也许更微妙的问题:
Windows用户和* nix用户之间存在文化差异,从我们执行日常任务的方式(例如在磁盘上搜索文件或在文件中搜索字符串)等多种方式反映出我们设置的方式管理系统,当有人提到“应用程序”时,我们会想到什么。
Ruby来自第二阵营,虽然它在Windows上完美运行,但它以某种方式反映了它诞生和维护的世界。一个平庸的例子是irb
。对于习惯于命令行界面的人来说,irb
是绝对自然而舒适的工具。命令行确实存在于Windows世界中,但它确实非常隐藏,通常是最后的接口。整套Perl-isms由Ruby借用,Perl是作为Unix脚本语言创建的。
所以,在我看来,选择Linux作为一个开发平台可以让你成为一个更好的Ruby程序员,只需强迫你采用* nix world的 culture 指南。
答案 2 :(得分:3)
我的工作环境也使用Linux。我们主要使用Java开发,但这是一个类似的故事。
该公司的Windows笔记本电脑受到防病毒软件的严重阻碍(这是非常必要的,因为在一家大公司中,任何安全漏洞最终都会被无意中拖入公司的病毒利用)。 / p>
我们的Linux机箱被锁定到我们无法进行主要配置更改的程度,但不需要病毒扫描程序/入侵检测程序。相对于公司标准,我们的Linux机器很高兴与您合作!我们的内存和CPU主要用于手头的任务。
我们的管理员也可以更轻松,更便宜地管理此设置。
答案 3 :(得分:2)
我开发了一个庞大而复杂的网站,其中Ruby on Rails使用Windows进行开发,还有两种不同版本的Linux用于生产。有一些与必须编译的库相关的打嗝,比如ImageMagick。
当我得到一台随Vista附带的新笔记本电脑时,我无法让MySQL运行它,我转而在VirtualBox中使用Linux。虽然我怀疑我是否会转换为Linux用户体验,但我确实发现让所有组件在Linux上正常工作更容易一些。现在,我在VirtualBox中完成了几乎所有的开发工作,因为它允许我将所有客户端工作分开,并且我可以轻松地启动具有特定要求的新开发环境,这些环境可能与我的首选桌面不兼容设置。
所以,是的,它可以完成,但不要忽视在VirtualBox中工作的潜力。这是一个美好的环境。
答案 4 :(得分:1)
公司决定必须使用Linux环境(虚拟机)而非Windows环境进行开发的原因是什么?
是否可以在Windows中开发ruby并在Linux上部署应用程序?
YES。但是,拥有相同的开发和优势是一种很好的做法。生产环境
不使用Windows进行开发有什么好处?这只是更好的表现吗?
大多数服务器都在Linux上运行,并且拥有相同的开发和运行总是很好的。生产环境
答案 5 :(得分:1)
正如其他人所指出的那样,使部署和开发环境至少相当类似是一个很大的优势。
我不同意那些说兼容性不是很重要的人。我们有一个非常大的网站,并使用了很多宝石,我们遇到了团队中唯一的基于Windows的开发人员的问题。有些宝石他根本无法使用或根本无法使用(例如json,gitjour,mechanize,hpricot),这意味着有些功能是他无法贡献的。我们在Mac OS X和Linux之间遇到了零平台差异。
事实上,Windows在Ruby,特别是Rails世界中是一个明显的二流平台。你可以做到,但我不推荐它。
答案 6 :(得分:0)
当然可以在可部署到Linux的Windows上开发Ruby。
如果宝石是用低等级C编写的,可能会有一些差别,但这种情况非常罕见。
答案 7 :(得分:0)
重新格式化硬盘并安装ubuntu,从闪存盘启动,通过虚拟机盒等运行vm,有很多方法可以在你的情况下运行linux,它将是一个更简单的开发解决方案。在您计划部署的操作系统环境中开发它总是更好。另外,你可以查看jruby。如果您仍然决定在Windows上开发,请结帐
help.github.com了解如何安装 Windows上的git和cygwin
ruby-lang.org安装ruby for windows