相信大家对VMware和VirsualBox不会太陌生,虚拟化的好处在这里我就不多说了。那么我们就一起来学习用Vagrant 为自己来打造一个神奇的跨平台开发环境吧!!

开发过程中,我们经常碰到一个问题,总有成员会抱怨说:“我这里编译出错啊”,或者,“这个页面在我机器上运行不了啊”。这类问题层出不穷,大多是由于开发环境搭建过程中的不一致所产生。而我们每个人不可能所持的开发环境完全一致,毕竟每个人都有自己的喜好。

为了避免“这个页面只可以在我的电脑上运行的尴(wu)尬(nai)的局面”,怎么解决这个问题呢?

我们都知道VirtualBox是一个虚拟机,我们可以在上面虚拟一台或多台完整的计算机系统。那么也许可以由团队创建一个用于开发的虚拟机,确保这个虚拟机是可以完成工作的,然后将其分发给各个成员,让他们按照指示去搭建环境。

当然,这在一定程度上可以解决问题。但是,每次建立虚拟机的时候,总有许多参数需要设置,总是或多或少遗漏了些什么,最后导致虚拟机和需求不一样。而且,开发过程中,很可能会由于人为的错误,导致虚拟环境出现故障,需要重新搭建环境。。。。

Vagrant的出现,则很好的解决了上面的问题。Vagrant 可以很好的结合虚拟机(如VirtualBox、VMWare这个版本要付费,对应的Vagrant 也是收费),根据配置文件,轻松的创建多台虚拟机实验环境。我们可以在配置文件中指定,包括从哪里去下载这个虚拟机、网络该如何连通、主机名、IP地址,甚至可以指定开机后自动配置的脚本。


我们先介绍到这里,接下来我们开始安装。

Vagrant 可以运行在 Mac OS X、Linux,以及 Windows 上,和 VirtualBox 一样,都是免费的开源软件
既然是虚拟机的配置工具,那么我们首先得需要一个虚拟机,这里我们使用 VirtualBox 虚拟机。如果没有安装,直接从官方网站:https://www.virtualbox.org/wiki/Downloads下载安装即可。

然后,我们从 Vagrant 的官方网站(http://www.vagrantup.com/downloads)下载这个软件,下载后在各自的系统上安装。在这里我们使用Ubuntu 15.04

sudo apt-get install vagrant

sudo apt-get install virtualbox-qt

以上两行命令用于安装 Vagrant 和 VisualBox。

之后,命令行里面就多了一个vagrant命令。我们可以通过vagrant -v来检查所安装的 Vagrant 的版本。

作者:程序猿Timothy
链接:https://www.jianshu.com/p/2d4afce8fe12
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

什么是Vagrant的更多相关文章

  1. Vagrant 基础全面解析

    这篇 Vagrant 入门文章将带你创建一个 Vagrant 项目,这个过程将会用到 Vagrant 所提供的主要基本特性.如果想了解 Vagrant 能为你带来哪些好处,可以阅读 Vagrant 官 ...

  2. Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)

    Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...

  3. 使用packer制作vagrant centos box

    使用packer制作vagrant box:centos 制作vagrant box,网上有教程,可以自己step by step的操作.不过直接使用虚拟在VirtualBox中制作vagrant b ...

  4. vagrant 1.8.6 安装过程及总结遇到的坑

    下面先总结遇到的问题,这些问题如果你也遇到,可能需要搜索很多次才能找到原因. 如果想看安装过程,可以先直接跳到后面第二部分部分. 1 问题汇总: 1.1 vagrant版本过高问题. vagrant ...

  5. 快速打造跨平台开发环境 vagrant + virtualbox + box

    工欲善其事必先利其器,开发环境 和 开发工具 就是 我们开发人员的剑,所以我们需要一个快并且好用的剑 刚开始做开发的时候的都是把开发环境 配置在 自己的电脑上,随着后面我们接触的东西越来越多,慢慢的电 ...

  6. Vagrant基础简要记录

    Vagrant是一种开源软件,它为跨众多操作系统构建可重复的开发环境提供了一种方法.Vagrant使用提供者(provider)来启动隔离的虚拟环境.默认的提供者是Virtualbox Vagrant ...

  7. Mac OSX+VirtualBox+Vagrant+CentOS初体验

    1.安装VirtualBox VirtualBox下载地址 免费小巧非常适用,根据自己机器系统选择下载包 VirtualBox 安装包 2.安装并使用Vagrant 1)Vagrant下载地址 选择下 ...

  8. window 使用vagrant搭建开发开发环境

    # -*- mode: ruby -*-# vi: set ft=ruby : # All Vagrant configuration is done below. The "2" ...

  9. LNMP虚拟机开发环境配置--vagrant+virtualbox+ubuntu14.04

    工作一直用的是别人打包好的虚拟机开发环境,感觉确实很酷.所以准备自己配个开发环境,为之后自己开发一些有趣的东西做准备. ok,开始~~~ 一.安装软件 vagrant和virtualbox 此处需注意 ...

  10. Vagrant使用

    常用命令 命令 说明 vagrant up 运行vm vagrant status 查看当前虚拟机运行状态 vagrant suspend 暂停虚拟机 vagrant ssh ssh方式登录虚拟机 v ...

随机推荐

  1. python的进程与线程(二)

    线程 之前了解了操作系统的发展史,也知道了进程和线程的概念,归纳一下就是:         进程:本质上就是一段程序的运行过程(抽象的概念)         线程:最小的执行单元,是进程的实体     ...

  2. Linux知识要点(文件压缩打包解压缩)

    tar 的选项与参数非常的多!我们只讲几个常用的选项,更多选项您可以自行 man tar 查询啰! 其实最简单的使用 tar 就只要记忆底下的方式即可(gzip方式): 压 缩: tar -zcvf ...

  3. jdk切换小工具

    今天无意之中看到一个小工具,就是可以自由切换jdk版本!以前每次切换jdk还要去找环境变量找半天,emmm.... 现在我们只需要双击一个xxx.bat的一个批处理文件,就可以自由切换jdk版本,很方 ...

  4. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决办法

    一,报错原因及分析 mysql的这个报错的原因是mysql服务没有正确启动就是mysqld这个程序. mysql要想运行需要mysql和mysqld两个都启动才行 二,解决办法 右键我的电脑——> ...

  5. 使用LR编写windows sockets协议xml报文格式脚本实战

    以下是测试脚本Demo: #include "lrs.h" Action() { char * resultCode;//结果代码 char * time; //系统时间 char ...

  6. golang标准库 context的使用

    本文索引 问题引入 context包简介 示例 问题引入 goroutine为我们提供了轻量级的并发实现,作为golang最大的亮点之一更是备受推崇. goroutine的简单固然有利于我们的开发,但 ...

  7. C#通过序列化实现深表复制

    利用二进制序列化的方式进行深拷贝  有一个缺陷 序列化的类型必须标识为刻序列化的[Serializable] 否则无法进行二进制序列化 class Program { static void Main ...

  8. ios键盘弹起 body的高度拉长,页面底部空白问题。ios软键盘将页面抵到上面后,关闭软键盘页面不回弹的问题。

    js 监听ios手机键盘弹起和收起的事件 /* js 监听ios手机键盘弹起和收起的事件 */ document.body.addEventListener('focusin', () => { ...

  9. Python从零搭建Conf_Web配置管理平台

    环境 CentOS 6/7 x64 Python:2 .7.6 Etcd: 3.2.18 Confd:0 .16.0 Nginx: 1.12.1 效果演示 一,拓扑图: 二.涉及软件 ETD: .分布 ...

  10. 【译】最大限度地降低多线程 C# 代码的复杂性

    分支或多线程编程是编程时最难最对的事情之一.这是由于它们的并行性质所致,即要求采用与使用单线程的线性编程完全不同的思维模式.对于这个问题,恰当类比就是抛接杂耍表演者,必须在空中抛接多个球,而不要让它们 ...