在同一台OSX机器上使用多个开发环境?

时间:2016-02-16 16:32:50

标签: python ruby-on-rails ruby django macos

我最近有一台新的Mac(2015 MBP,8gb内存),我正在尝试同时使用5个不同的堆栈建立开发环境。

  • 我之前使用的 LAMP 设置与$match非常相似 - 我的许多旧(客户端)项目仍然基于使用Foundation和Libsass的PHP MVC框架。虽然我不想以这种方式创建新项目,因为我想了解更多,我仍然需要能够快速,轻松地维护这些其他项目。
  • 然后我在 Python / Django 中有了一些数据项目。在我的旧Mac上,我通过Virtual Box使用了一个Linux VM(我还没有拥有parallels等)。
  • 我还尝试学习使用gulp,browserify和使用React JS的 MEAN堆栈,以及 Meteor (它有自己的服务器) (以及 Ruby on Rails ) - 我想用这些进行更多的开发,但不会失去处理其他项目的能力。

我的问题是,每当我以前切换到使用MEAN或Rails时,我搞砸了我的文件观看/自动编译LAMP和Python,我花了很长时间才能切换回来。我真的很喜欢浏览器的工作原理 - 例如自动编译sass文件/缩小,并自动刷新页面,但我遇到了保持我的python服务器和灯设置做同样的问题。我显然做错了什么,我很想通过干净的安装来正确设置它。我在网上找到的所有教程都指的是设置单独的堆栈环境,但我找不到多少指的是将它们组合在一起。

我已经决定为每个不同的堆栈运行一个单独的VM会导致性能过高,而且有些东西我想在多个堆栈上使用,如homebrew。

因此,我的问题是使用像docker这样的东西来保持独立性与使用类似自制程序的东西在一个操作系统上一起设置所有内容的具体优势是什么?

我知道在使用virtualbox的docker上观看文件并不那么容易 - 但我不确定是否要推进并找到解决方法或使用其他方式。

非常感谢 - 我多年来一直坚持这一点。如果我的问题不是很清楚,我很抱歉 - 我是使用node / meteor和ruby的新手,所以我不确定最好的起点!

1 个答案:

答案 0 :(得分:4)

以我的拙见,迄今为止最好的解决方案是使用Vagrant。它也是免费的。

不仅可以为每个项目创建不同的环境,还可以编写所有自定义安装和配置的脚本。您或您的大学将能够使用简单的命令vagrant up复制环境。

可以找到为{3}}设置Vagrant的热门指南here。但是,与该指南相反,我放弃使用Chef支持简单的配置脚本。可以找到指南here

确保启用NFS,否则VirtualBox(Vagrant坐在它上面)会很慢。

虽然Cloud9Koding等解决方案对您无法访问开发计算机时非常有用,但我不会将它们用于日常工作。