Ruby on rails 基于Mac和Vagrant的Ruby on Rails开发

Ruby on rails 基于Mac和Vagrant的Ruby on Rails开发,ruby-on-rails,macos,vagrant,Ruby On Rails,Macos,Vagrant,我正在Mac OS X Yosemite上使用Ruby on Rails开发几个应用程序。我的主要部署操作系统是Debian8x64 我听说过很多关于流浪汉的事。我应该用它吗?它给了我什么好处?它会加速我的工作流程还是更糟:减慢它 我可以将其用作部署的暂存服务器吗?Vagrant创建了一个虚拟机,它的唯一优势是您可以创建虚拟机映像,这将加快开发环境的设置(如果您计划在最近的将来雇佣大量开发人员,这可能会很方便)。它还将创建一个完全隔离的环境,因此您可以确保其他应用程序不会影响您正在使用的应用程序

我正在Mac OS X Yosemite上使用Ruby on Rails开发几个应用程序。我的主要部署操作系统是Debian8x64

我听说过很多关于流浪汉的事。我应该用它吗?它给了我什么好处?它会加速我的工作流程还是更糟:减慢它


我可以将其用作部署的暂存服务器吗?

Vagrant创建了一个虚拟机,它的唯一优势是您可以创建虚拟机映像,这将加快开发环境的设置(如果您计划在最近的将来雇佣大量开发人员,这可能会很方便)。它还将创建一个完全隔离的环境,因此您可以确保其他应用程序不会影响您正在使用的应用程序

主机和虚拟机之间的文件同步仍然存在很多问题(至少上次我试过了),使得Vagrant的开发速度非常慢(每页必须等待20秒)。创建一个可在主机的所有操作系统上运行的流浪文件并非易事。此外,它将消耗更多的机器资源


不过,它可以很好地匹配登台服务器,因为它允许快速销毁和重新创建您的虚拟机,并提供良好的隔离,因此您可以测试部署脚本而无需承担任何风险。

我使用Ruby on Rails的经验有限,但我正在使用Django进行开发,我在Vagrant上运行我的所有应用程序。我相信无论技术如何,使用流浪汉的想法都是一样的

我使用它的主要原因是,您可以设置Vagrant来复制部署环境。这意味着您可以(几乎100%)确保您的生产代码在部署时能够正常工作(因为您是在同一环境中编码和测试的)

另外一个好处是,你拥有的应用越多,就越难跟踪所有需要的软件包和依赖项。使用Vagrant,您可以设置您的环境以满足每个项目的确切标准

关于它是否会减慢或加快你的工作。我认为这有点取决于你的编码风格,但是Vagrant共享你项目的文件夹,所以对你的代码所做的任何更改都会反映在Vagrant中。你只需要转发应用程序的端口,你几乎不会注意到Vagrant在你和你的项目之间。如果一切都设置正确的话


希望我的回答能有所帮助

很好,您听说过vagrant,您可以查看我建议您尝试一下(大量教程如何开始),而不是设置(留待下一步),看看它是否有好处you@FredericHenri谢谢你的链接!我一定会试试。我有一个朋友用Django开发。它与RoR分享了很多。所以你说得对:虚拟机的设置将共享很多。如果我将它用作暂存服务器,它将节省很多时间。但若你们对延迟的看法是正确的:若我把vagrant用作开发服务器,它只会减慢我的工作流程。我往往工作得很快,这会让我很生气,就像我以前用Dreamweaver和git(不适用于RoR)一样。是否有一些想法是关于“速度太慢”或是什么可以改进以提高工作速度(每页20秒似乎已经过时)@FredericHenri-同步文件夹是速度太慢的原因。:)我必须创建一个虚拟机来为我的同事工作(他们在windows上工作,哎呀!),所以NFS就不存在了。默认的VirtualBox共享文件夹非常慢,在rails开发中,每个请求都会重新加载整个应用程序-读取速度非常关键。@BroiSatse啊,这是一位游手好闲的作者讨论过的,很清楚,如果你能运行nfs,它是黑白的。我也与windows用户共享dev,但我确实使用vmware provider(因为我们的框是为这两个提供商设置的),而且我对最新版本的vagrant没有太多抱怨。