公司的开发环境是这样的:

Windows主机通过虚拟机安装CentOS。平时在Windows下编辑代码,然后跑到虚拟机里编译。

我自己有台MAC,本来准备直接在MAC上装开发环境的。基于以下两个原因放弃了:

  1. 我有系统洁癖。
  2. MAC系统终归和开发环境不同。

后来通过调研发现了vagrant这个新大陆,哈哈,开心。整个搭建过程如下:

1. 安装virtualbox

2. 安装vagrant

(直接去官网下载安装即可)

3. 下载CentOS

  以前在虚拟机中安装CentOS,都要去下载对应系统的iso文件。vagrant有一个box的概念,你可以下载对应系统的box文件,非常方便。

下载地址:www.vagrantbox.es

4. 安装CentOS

  首先选择一个目录作为MAC和虚拟机的共享目录,我在主目录下建了个目录vagrant。然后就是很简单的安装命令:

cd vagrant
vagrant box add centos7 /your_box_path
vagrant init centos7

到此,我们的CentOS就装好了。(目录下会生成一个配置文件Vagrantfile )

5. 访问CentOS

vagrant up        // 启动CentOS
vagrant ssh // ssh访问

到此,就可以愉快地开发了。

--------------------------------------------

修改默认登录用户

  默认的登录用户是vagrant,如果想实现默认root登录,可在Vagrantfile 文件中添加如下配置:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

  (root默认密码是:vagrant)

修改box内存大小

  1. 直接通过virtualbox修改
  2. 修改Vagrantfile文件

修改box磁盘大小(本人没试过)

VBoxManage clonehd box-disk1.vmdk tmp-disk.vdi --format vdi
VBoxManage modifyhd tmp-disk.vdi --resize
VBoxManage clonehd tmp-disk.vdi resized-disk.vmdk --format vmdk
rm tmp-disk.vdi box-disk1.vmdk
mv resized-disk.vmdk box-disk1.vmdk

链接:Add some way to increase disk space from Vagrantfile

box时间同步

如果你在make的时候出现如下错误:"检测到时钟错误。您的创建可能是不完整的。",那么说明你的系统时间有问题。

首先通过date命令查看系统时间,如果时区不对(输出中没有CST),那么直接修改/etc/localtime文件:

rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

如果时区正确,那么应该是同步没有做好。

1. 检查是否安装ntp

rpm -qa ntp

如果没有直接 yum install ntp。

2. 时间同步

ntpdate cn.pool.ntp.org

3. 开机启动

chkconfig ntpd on 

备份

vagrant package --output backup.box

PS:

在公司,用不了vagrant,怀疑是网络问题。详情可见:Failing "underlying SSH library"

参考文章:

https://github.com/astaxie/go-best-practice/blob/master/ebook/zh/01.2.md

MAC使用vagrant搭建开发环境的更多相关文章

  1. Vagrant 搭建开发环境实践

    介绍 Development Environments Made Easy -官网标题 vagrant是一个命令行的虚拟机管理程序.用于简化搭建开发环境. vagrant使用ruby语言基于Chef ...

  2. vagrant 搭建开发环境

    虚拟机盒子地址 https://app.vagrantup.com/boxes/search vagrant init hirocom/centos7.2vagrant up 修改配置 config. ...

  3. 和重复搭建开发环境说 Bye Bye 之Vagrant

    每每新同事入职,都要在自己电脑上配置一堆环境,费神费力:每每开发测试都要重新配置开发环境,手工搭建,步骤很繁琐,极易出错. 大神在时,大神搭建,大神不在,以手抚膺坐长叹.为此,VVVVVagrant横 ...

  4. 一、React Native 搭建开发环境(1)(Mac OS - IOS项目)

    React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 目的: 由于我想在一台电脑上同时开发IOS和Android两 ...

  5. 一、React Native 搭建开发环境(1)(Mac OS - IOS项目篇)

    React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 原因:由于我想在一台电脑上同时开发IOS和Android两个 ...

  6. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  7. Mac系统cocos2dx + android 开发环境配置

    Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:htt ...

  8. mac 配置Python集成开发环境

    mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclips ...

  9. ios搭建开发环境

    ios搭建开发环境 好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC O ...

随机推荐

  1. 运行jmeter.bat时 提示 not able to find java executable or version

    安装过好几次,这是第一次遇到运行jmeter.bat时 提示 not able to find java executable or version Please check your Java in ...

  2. MySQL锁---InnoDB行锁需要注意的细节

    前言 换了工作之后,接近半年没有发博客了(一直加班),emmmm.....今天好不容易有时间,记录下工作中遇到的一些问题,接下来应该重拾知识点了.因为新公司工作中MySQL库经常出现查询慢,锁等待,节 ...

  3. 简单完成Excel导出

    Excel的导出只需要三步即可完成: 1,完成excel的工具类编写,直接复制即可 package cn.com.bcl.util; import java.util.List; import org ...

  4. PLSQL Developer 中文乱码踩坑记

    环境 操作系统版本: Windows 7 PL/SQL 版本: 12.0.1.1814 原因 由于 Oracle 服务器端和客户端字符集编码不一致引起的. 注意点 写在最前面,减少踩坑!!! 网上教程 ...

  5. EwoMail开源邮件服务器软件搭建

    EwoMail开源邮件服务器软件简介 EwoMail是基于Linux的开源邮件服务器软件,集成了众多优秀稳定的组件,是一个快速部署.简单高效.多语言.安全稳定的邮件解决方案,帮助你提升运维效率,降低 ...

  6. SpringBoot系列(八)分分钟学会Springboot多种解决跨域方式

    SpringBoot系列(八) 分分钟学会SpringBoot多种跨域解决方式 往期推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 s ...

  7. E - Dungeon Master BFS

    [NWUACM] 你被困在一个三维的空间中,现在要寻找最短路径逃生!空间由立方体单位构成你每次向上下前后左右移动一个单位需要一分钟你不能对角线移动并且四周封闭是否存在逃出生天的可能性?如果存在,则需要 ...

  8. python调用小豆机器人实现自己的机器人!

    大家好,人工智能是不是很酷呢? 今天我们用python调用小豆机器人实现自己的机器人(可以结合往期的语音识别更酷哦) 好,废话不多说直接上代码 import requests i=input(&quo ...

  9. Gatling脚本编写技巧篇(一)

    一.公共类抽取 熟悉Gatling的同学都知道Gatling脚本的同学都知道,Gatling的脚本包含三大部分: http head配置 Scenario 执行细节 setUp 组装 那么针对三部分我 ...

  10. Hadoop环境搭建(centos)

    Hadoop环境搭建(centos) 本平台密码83953588abc 配置Java环境 下载JDK(本实验从/cgsrc 文件中复制到指定目录) mkdir /usr/local/java cp / ...