如果建立一个虚拟开发环境是你的目标,这里有一个关于如何利用vagrant盒子和虚拟机来达到这个目的的指南。让我们通过这篇博客详细讨论一下这个过程。
在这里,我们将在虚拟化引擎的基础上建立一个vagrant,如VirtualBox。
创建vagrant盒子
下载VirtualBox并创建一个目录。你还需要一个基本的操作系统。现在让我们使用'ubuntu/trusty64'。现在,我们需要启动使用vagrant目录作为'vagrant init'和操作系统名称。
因此,代码将是:
mkdir vagrant_demo --create directory
cd vagrant_demo --enter into the directory
vagrant init ubuntu/trusty64 --initiate vagrant operating system
一个VagrantFile,解释了vagrant环境的配置,是用最后那条命令创建的。这个文件中的五个规格可以根据你的要求进行修改。如果不做任何修改,将使用默认设置。
-config.vm.box - 定义vagrant操作系统。
-config.vm.provider - 定义基础(虚拟机)。通过这个命令,你也可以操纵使用的CPU数量。
-config.vm.network - 定义应用程序的 IP 地址和端口。Rails应用程序通常默认为3000端口。在我们的例子中,主机是我们的电脑,而访客是一个虚拟机。
-config.vm.synced.folder - 定义来宾如何访问主机中的文件。因此,可以在你的电脑上修改项目文件,然后自动同步到虚拟机上。
-config.vm.provision - 定义虚拟环境的设置。
因此,我们的vagrant文件的最终版本是这样的。

一旦vagrant文件创建完毕,启动并ssh进入它,就会处于一个完全活跃但又隔离的操作系统中。现在,虚拟机和vagrant文件已经启动并运行,定义并安装你开发应用程序所需的一切。 在我们的例子中,我们需要做一些安装,如下
安装git

安装curls

加载rvm

安装ruby

设置默认的ruby版本

验证ruby版本

安装并检查你的rails版本


安装bundler

捆绑你的宝石

安装nodejs

安装你的数据库。

确保有一个正确对齐的database.yml文件,并在该文件中设置数据库名称。这个yml文件的对齐是非常重要的,因为它可能会被错误地读取。另一个需要考虑的重要因素是数据库名称。这个yml文件中的数据库名称应该是你的rails应用程序的数据库名称。
最后,vagrant环境配置已经完成,现在从头开始创建你的应用程序。
***扩大性能。而不是价格。*今天就试试Engine Yard,在14天内享受我们伟大的支持和巨大的扩展潜力。
用Engine Yard免费部署你的应用程序。
创建应用程序
从头开始创建一个应用程序是在你的本地机器上进行的,而不是在vagrant中。
在你的本地机器上,在与你的vagrant文件相同的目录中打开一个新标签。
- 现在,要创建一个新的应用程序,运行。
rails new your_app_name database = postgresql
- 应用程序现在已经创建。如上所述,用名称和权限配置数据库。
- 打开运行vagrant的终端。
- 移动到你的同步目录,在我们的例子中是 "
/vagrant_files"。 - 移动到新应用程序的目录中。
- 运行'
bundle install'. - 运行'
rails s',你的应用程序应该按照你的定义在端口或URL上启动和运行。
使用现有的应用程序
在你的vagrant文件的目录中打开一个新的终端。从GitHub带来你现有应用程序的代码。

现在,用适当的名字更新数据库。
- 打开正在运行的vagrant的终端。
- 移动到你的同步目录,在我们的例子中是 "
/vagrant_files"。 - 移动到新应用程序的目录中。
- 运行''。
bundle install' - 运行'
rails s',你的应用程序应该按照你的定义在端口或URL上启动和运行。
结论
起初,创建和设置虚拟机和vagrant盒子的过程会很累人。但一旦适应了,就没有回头路了。
我们可以选择使用现有的vagrant盒子,也可以使用打包器,而不是手动进行所有的设置。但无论如何,了解任何预定义方案的逻辑和工作情况总是更好的,以便更好地理解和轻松地排除故障。因此,在创建你的应用程序之前,以上述讨论的方式尝试你的版本。一旦你进入了详细的流程,你就可以通过利用预定义的打包器跳过基本步骤,并为进一步的挑战而向上攀登。