Windows上使用Vagrant打造可协同跨平台开发环境

前言

标题很高大上是吧,啊呸。其实说到底就是建一个环境,相对于phpstudy,xammp的来说有好有坏。缺点很明显,整个过程容易出错,特别是在windows下,羡慕那些用着mac的。好处也很明显,环境跟我们服务器上的类似,可以装composer,npm,redis。原理是用virtual box开一台虚拟机,用vagrant统一管理。这样不容易出现本地环境,这没那没的少走一些弯路吧。

至于我为什么要耍这玩意还不是为了试一下laravel。vagrant需要下载virtual box 的源,这个官网上很多,centos,Ubuntu的都有。让你的电脑跟线上基本无差。今天我们拿的laravel提供的homestead做实验(谁教laravel的文档写的不明不白的)。

安装和设置

安装VirtualBox和Vagrant

这个没什么好说的了,百度一下这两个软件,记得要下最新版的就ok。

添加Vagrant箱子

一旦VirtualBox和Vagrant安装完成,你应该添加“laravel/homestead”箱子到你的Vagrant安装目录下,在终端使用下面的命令,这将花费几分钟的时间来下载箱子,这取决于你的网速:

vagrant box add laravel/homestead

忘了说了,provider选择virtual box(这主要看你下的哪个)。我家里用的移动,速度还行,2MB/s。如果用的其他运营商很吃力的话,可以看到cmd记录里会有下载链接,可以复制到迅雷中去下载。下载完成记得扔到制定目录C:\Users\用户名\.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead

安装 Homestead

官方那个我试了下,windows的话可以去composer官网下一个composer的安装包。或者可以像我一样,不采取全局安装,直接从github上下载下来。改名(github下载文件的话都会带上-master),移动到你需要的位置。运行homestead目录下的init.bat。vagrant会自动生成配置文件,这时候我们需要修改一下,直接是无法拿来用的,文档不是写给我们看的。。。。

folders:
    -map:~/Code
      to:/home/vagrant/Code

这个指的是同步的文件夹,你的code全部会同步过去,不用ssh连接。值得注意的是-map对应的路径。windows表示路径是有盘符的,这点不同于linux。所以需要把~/Code改成我们所需要的e:/Code 注意英文冒号。具体路径随意。登录ssh的密钥也需要生成,不然怎么登录。可以通过putty或者xshell生成。


注意之前说过的路径问题以及文件名对应。

启动Vagrant箱子

一旦你按照意愿编辑了“Homestead.yaml”文件,就可以在终端上的“Homestead”目录下执行 homestead up 命令。Vagrant将启动虚拟机,并自动配置共享目录和Nginx站点!如果需要销毁虚拟机,可以使用 homestead destroy 指令。 homestead list 用于列出所有可用的 Homestead 指令。hosts也别忘了改,在Windows机器上,它位于“C:\Windows\System32\drivers\etc”目录。win7及以上可能会出现权限问题无法修改,用管理员权限打开文本编辑器然后打开hosts文件可以解决,如果有更好方案可以留言,无效的话请自行百度。

cmd到你的homestead文件夹所在,

执行vagrant up,你的vagrant就成功了。等等为什么我的没有成功,提示我

The requested address is not valid in its context. - connect(2) for "0.0.0.0" port 8000 (Errno::EADDRNOTAVAIL)

这里需要你修改一下文件,打开你的homestead文件夹scripts的homestead.rb文件,

如图所示修改即可。

然后在输入一次vagrant up (因为之前没成功嘛),就可以成功访问homestead.app了,前提你之前都操作对了。

putty连接配置信息如下:
IP:127.0.0.1 端口号:2222 用户名:vagrant 密码:你自己设置的

日常使用

记得注意的是关机之前记得打开virtual box把虚拟机关了,否则就跟电脑强制关机没什么区别。如果关了以后,可以到C:\Users\用户名\VirtualBox VMs\homestead-7下把homestead-7.vbox-tmp改回homestead-7.vbox即可。话说vagrant在windows坑太多了,laravel官方文档就几句话了事,实在是。。。

Last modification:October 23rd, 2017 at 02:48 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment