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

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. Java入门系列之线程池ThreadPoolExecutor原理分析思考(十五)

    前言 关于线程池原理分析请参看<http://objcoding.com/2019/04/25/threadpool-running/>,建议对原理不太了解的童鞋先看下此文然后再来看本文, ...

  2. JVM崩溃的原因及解决!

    JVM崩溃的原因及解决! 前些天,搞JNI的时候,报了个JVM崩溃的错.错误信息如下: # # An unexpected error has been detected by HotSpot Vir ...

  3. 常见的 PHP 面试题和答案分享

    如何直接将输出显示给浏览器? 将输出直接显示给浏览器,我们必须使用特殊标记 <?=and?>. PHP 是否支持多重继承? PHP 只支持单继承.PHP 的类使用关键字 extends 继 ...

  4. linux常用命令整理(一)

    1.sort(排序) 典型例题:sort -t: -k3n /etc/passwd 以冒号为分隔符根据第三个域的数字大小进行排序(默认分隔符是空格) 2.uniq(去除文件中的连续重复行) 典型例题: ...

  5. 别人用钱,而我用python爬虫爬取了一年的4K高清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取htt ...

  6. 当文件目录变得杂乱不堪怎么办,python帮你轻松搞定

    这几天和几个小伙伴,在一起合做一个ppt. 做ppt之前有原版的ppt,和一个word大纲,在制作过程中,又不断添加图片.视频等素材,最终,整个目录变得杂乱不堪(见下图-处理之前) 那我想,可不可以做 ...

  7. 【WPF学习】第六十七章 创建自定义面板

    前面两个章节分别介绍了两个自定义控件:自定义的ColorPicker和FlipPanel控件.接下来介绍派生自定义面板以及构建自定义绘图控件. 创建自定义面板是一种特殊但较常见的自定义控件开发子集.前 ...

  8. Hugo博客搭建

    HUGO + Github + Github Action持续集成部署个人博客 HUGO本地环境 首先在HUGO的官网下载Hugo的Windows安装包,然后将路径添加到环境变量即可. step1:下 ...

  9. 硬盘性能测试工具之bonnie++

    bonnie++ 官方站点 先写内存的两倍,内存较大时比较耗时.适合简单的测试场景. # bonnie++ -u root 写测试 读测试 Version 1.97 ------Sequential ...

  10. Scapy的基本使用

    关于Scapy Scapy是一个可以让用户发送.侦听和解析并伪装网络报文的Python程序.这些功能可以用于制作侦测.扫描和攻击网络的工具. 换言之,Scapy 是一个强大的操纵报文的交互程序.它可以 ...