MAC使用vagrant搭建开发环境
公司的开发环境是这样的:
Windows主机通过虚拟机安装CentOS。平时在Windows下编辑代码,然后跑到虚拟机里编译。
我自己有台MAC,本来准备直接在MAC上装开发环境的。基于以下两个原因放弃了:
- 我有系统洁癖。
- 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内存大小
- 直接通过virtualbox修改
- 修改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搭建开发环境的更多相关文章
- Vagrant 搭建开发环境实践
介绍 Development Environments Made Easy -官网标题 vagrant是一个命令行的虚拟机管理程序.用于简化搭建开发环境. vagrant使用ruby语言基于Chef ...
- vagrant 搭建开发环境
虚拟机盒子地址 https://app.vagrantup.com/boxes/search vagrant init hirocom/centos7.2vagrant up 修改配置 config. ...
- 和重复搭建开发环境说 Bye Bye 之Vagrant
每每新同事入职,都要在自己电脑上配置一堆环境,费神费力:每每开发测试都要重新配置开发环境,手工搭建,步骤很繁琐,极易出错. 大神在时,大神搭建,大神不在,以手抚膺坐长叹.为此,VVVVVagrant横 ...
- 一、React Native 搭建开发环境(1)(Mac OS - IOS项目)
React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 目的: 由于我想在一台电脑上同时开发IOS和Android两 ...
- 一、React Native 搭建开发环境(1)(Mac OS - IOS项目篇)
React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 原因:由于我想在一台电脑上同时开发IOS和Android两个 ...
- Mac下docker搭建lnmp环境 + redis + elasticsearch
之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...
- Mac系统cocos2dx + android 开发环境配置
Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:htt ...
- mac 配置Python集成开发环境
mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclips ...
- ios搭建开发环境
ios搭建开发环境 好久就想试水IOS开发了,由于开发环境限制,一直局限于理论和虚拟机,近来入手了MacBook Pro,也来尝尝鲜,笔者也是现学现总结,如果有不足,请指正. IOS开发必备MAC O ...
随机推荐
- CH5701 开车旅行(倍增dp+set)
传送门 解题思路: 一道比较有趣的题,解题工作主要分为两块: ①找出k(k=0表示小A先走,k=1表示小B先走,下面同理)从点i出发下一个到达的点to[k][i]; 一开始偷懒用了vector(偷懒一 ...
- canvas 实现光线沿不规则路径运动
canvas 实现光线沿不规则路径运动 此文章为原创,请勿转载 1.svg实现 2.canvas实现 3.坑点 svg让动画沿着不规则路径运动 查阅svg文档后发现,svg动画运动有两种实现方式,且都 ...
- JVM崩溃的原因及解决!
JVM崩溃的原因及解决! 前些天,搞JNI的时候,报了个JVM崩溃的错.错误信息如下: # # An unexpected error has been detected by HotSpot Vir ...
- 学习Salesforce | 带你解锁Superbadge的真正作用
Superbadges是对专业知识和技能的一种认可,通过解决企业在实际业务场景中遇到的复杂问题,展示你的Salesforce专业技能. 要想获得Superbadge,首先需要完成Trailhead徽章 ...
- 掉了10根头发都无法解决的数学题,python帮你完美解答
本来这个周末过得开开心心,结果为了解一道数学题薅掉了一把头发...整整10根! 而且还是一道小学数学题!!! 到底是什么题呢?大家看看吧 这不就是一道逻辑题嘛! 先假如丁错,则甲乙丙对,此时最小的ab ...
- 1327C - Game with Chips (构造)
题目大意:一个n*m的棋盘上有k个棋子,k个棋子相互关联,可以一起向上向下向左向右,当碰到边界时,如果继续移动会发生越界,那么该棋子会保持不动,其余棋子继续移动.问能否在2*n*m的移动次数内,使各个 ...
- 学习JVM参数前必须了解的
JVM参数是什么 大家照相通常使用手机就够用了,但是针对发烧友来说会使用更专业的设备,比如单反相机,在单反里有好几个模式,P/A/S/M,其中P是傻瓜模式,程序会自动根据环境设置快门速度和光圈大小,以 ...
- webpack 中常用安装插件的一些命令
1:npm install html-webpack-plugin --save-dev //自动快速的帮我们生成HTML.2:npm install css-loader style-loader ...
- Java数组 —— 八大排序
(请观看本人博文--<详解 普通数组 -- Arrays类 与 浅克隆>) 在本人<数据结构与算法>专栏的讲解中,本人讲解了如何去实现数组的八大排序. 但是,在讲解的过程中,我 ...
- s3fs-fuse 把 s3-like 对象存储挂载到本地
s3fs-fuse 是一个采用 c++