我主要在我的机器上进行 ruby on rails 开发,但有时我最终会使用其他笔记本电脑进行 RoR 开发。如果有什么东西(也许是 shell?) 基本上可以将我机器上安装的所有 gem 带到其他机器上而不留下任何足迹,那就太好了。它基本上是一个非常轻的 VM,没有操作系统的东西。
如果重要的话,我使用的是 mac。理想情况下,我希望将该虚拟环境保存在我的保管箱中,基本上当我使用其他机器时,我只需从我的保管箱中获取它并开始编码,而不必担心设置环境。
最佳答案
与 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。因此,您不仅可以拥有 gem,还可以拥有 Ruby 的一个或多个特定版本,以及相关的 gem,这样您的回归测试也可以工作。
如果您使用 MacVim你可以将它安装在 ~/bin
中并获得 GUI 版本。我没有尝试从那里运行它,但它似乎可以工作。您可能需要创建一个从 /Applications
到 ~/bin
中的别名以便双击。
MacVim 带有一个名为 mvim
的 shell 脚本,可以从命令行启动它。我有一堆软链接(soft link)可以让我以各种方式从命令行调用它:gvim
,以及 gvim 变体,如 gvimdiff
和 gview
。您可以通过将 ~/bin
添加到您的 PATH
并在该目录中本地链接到 MacVim 的 mvim
来执行相同的操作。
您可以构建 vim 配置、vim 安装和 RVM 沙箱的 tarball,将其复制到另一台 Mac,展开它,将 ~/bin
添加到您的 PATH 并将所需的 RVM 初始化行附加到~/.bashrc
,打开一个新的命令行,让你的编辑器加上 Ruby 沙箱。
我的 Mac 和 Linux 盒子的设置方式略有不同。我没有尝试将所有东西捆绑在一起,但是,在具有相同操作系统版本的 Mac 上,它应该可以工作。
关于ruby-on-rails - 虚拟 ruby 开发环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5369299/