虚拟ruby开发环境

时间:2011-03-20 15:09:40

标签: ruby-on-rails ruby development-environment virtualization virtual-machine

我主要在我的机器上进行ruby on rails开发,但有时我最终使用其他笔记本电脑进行RoR开发。如果有东西(也许是外壳?)会很好,这基本上可以将我机器上安装的所有宝石都带到其他机器而不会留下任何痕迹。它基本上是一个非常轻的虚拟机,没有操作系统的东西。

如果重要,我正在使用mac。理想情况下,我想将这个虚拟环境保留在我的Dropbox中,基本上当我使用其他机器时,我会从我的Dropbox中获取它并开始编码,而不必担心设置环境。

2 个答案:

答案 0 :(得分:5)

与Jacob的答案类似,我建议使用RVM,但我会对其进行扩展。这是一些头脑风暴的想法:

RVM将其沙箱存储在~/.rvm的主目录中。所有Ruby实例以及相关的gem都将存储在那里。这是对Mac中~/.bashrc文件的一个简单补充,用于初始化RVM,因此当您登录帐户时,shell会知道它。命令行中也是一个简单的rm -rf ~/.rvm,用于从帐户中删除RVM沙箱,然后从~/.bashrc中删除该行。

因此,基本上,通过正确设置RVM并在一台计算机上安装Ruby安装,您可以将90%用于多台计算机。

我非常确定Ruby会在使用RVM的当前Mac OS上安装时没有任何依赖,但是有一些库可以改善体验。安装RVM后,但在安装任何Rubies之前,请运行rvm notes。这将告诉你还有什么安装。你需要当前的XCode来编译Ruby,但只能在你编译的机器上。安装完成后,您应该能够通过复制~/.rvm目录将RVM控制的Ruby移动到其他Mac。因此,您不仅拥有宝石,还可以拥有Ruby的特定版本或版本,以及相关的宝石,因此您的回归测试也可以起作用。

如果您使用MacVim,则可以在~/bin中安装它并拥有GUI版本。我没有试过从那里运行它,但它似乎工作。您可能需要从/Applications创建别名到~/bin中的别名,以便双击。

MacVim附带一个名为mvim的shell脚本,可以从命令行启动它。我有一堆软链接让我通过各种方式从命令行调用它:gvim和gvim变量,如gvimdiffgview。您可以通过向~/bin添加PATH并在该目录中将链接本地链接到MacVim的mvim来执行相同操作。

您可以构建vim配置,vim安装和RVM沙箱的tarball,将其复制到另一台Mac,展开它,将~/bin添加到PATH并在~/.bashrc中附加所需的RVM初始化行,打开一个新的命令行,并让你的编辑器加上Ruby沙箱。

这是我的Mac和Linux盒子设置方式的一个小变化。我没有尝试将所有内容捆绑在一起,但是,在相同操作系统版本的Mac上,它应该可以正常工作。

答案 1 :(得分:2)

考虑使用rvm来管理不同的gem配置。如果你想要,你可以将你的rvm配置存储在你的dropbox中(而不是在〜/ .rvm中,默认情况下它们会存在),这样你的gemset就可以跨机器同步。