对于一个偏爱Windows的人来说,能够在Windows操作环境下进行程序的开发,无异于一大享受。那么今天我们一起来看一下如何在Windows 10操作系统中进行Laravel的开发。 当然,方法不止一种,如果你的电脑上已经下载了PHP,安装了Apache或nginx,并且有偏爱的数据库系统,那么基本上你已经可以开始写代码了。而我们今天要介绍的是使用Vagrant,在Homestead中进行Laravel的开发。 Vagrant是一款基于Virtual Box的虚拟机环境,可以安装多种Box(即预先配置好的开发环境),达到多种开发环境可以快速切换并且不需要担心Package Dependencies。
Homestead是Laravel官方创建的Vagrant Box,已经集成了Laravel所需的开发环境及工具。是不是感觉发现了新大陆?
那么我们需要做的几个步骤如下:
- 下载并安装
Vagrant及Virtual Box - 下载
Homestead并配置 - 创建一个新的
Laravel项目。 - 我们需要的:
Git BashVagrantVirtual BoxHomestead
注意: Laravel官方推荐的Shell是Git Bash。因为git Bash自动将 ~(tilde)映射到用户根目录下(例如,C:\Users\MyUserName),而如果使用Windows自带的cmd,那么需要使用%HOMEDRIVE%%HOMEPATH%环境变量来进入正确的文件夹。
好了那么我们开始行动!首先需要我们先下载 Git Bash
直接下载可能很慢,我们可以右键复制下载链接,使用迅雷等下载工具下载。
安装 Git 很简单,按默认选项安装就可了:
安装完成后,我们就可以进行下一步了:
安装 Vagrant 及 Virtual Box
完成之后,我们就可以开始安装 Homestead 了。
如果你在国外,或者你所在的地区对于CLI方式下载安装 Homestead 网速没有问题,那么可以打开 Git Bash ,输入
1 | |
会自动开始下载安装最新版本的 Homestead
然而国内可能部分地区用这条命令下载网速非常的慢。所以如果发现半天下载不下来,那么我们可以采取手动下载安装的办法:
首先先去 Vagrant 官网上查询一下 最新的Homestead版本
然后根据版本号使用以下链接下载 Homestead :
可以看到,目前最新的版本是 2.0.0 ,各位可以根据需要在 versions/ 之后把需要下载的版本号替换上去。
温馨提示:上面的链接可以迅雷喔,是不是很方便呢?
当然,这个下载地址就是在 Git Bash 中输入 vagrant box add laravel/homestead 后自动下载的地址,只是我把它复制出来了。
好了,那么如果以上步骤是自动下载的,那么可以直接跳过此步,如果是手动下载的 Homestead ,那么请继续跟我一起操作。
在以上手动步骤里,我们下载了最新的 Homestead 版本,请到下载文件夹中,将下载的文件 hc-download 重命名为 homestead.box (前缀不重要,但是一定要加上 .box 后缀)。
接下来打开 Git Bash 输入
1 | |
其中请用你系统的用户名替换 UserName ,用自己的文件下载路径替换 /downloads/homestead.box ,然后等待添加完成。
完成后,你会发现自己的用户文件夹里多出了一个 .vagrant.d 的文件夹 C:\Users\(UserName).vagrant.d
接下来,非常重要的一个步骤:
我们打开这个文件夹,找到以下路径:
1 | |
在该文件夹下新建一个叫 metadata_url 的文件:
文件的内容里,添加以下链接:
1 | |
注意,不要留任何空白字符,保存文件。
完成之后,我们就可以开始配置 Homestead 了。
在 Git Bash 里输入
1 | |
下载好了 Homestead 之后,我们就可以建立 Homestead.yaml 配置文件了:
进入 Git Bash
1 | |
然后在 ~/Homestead 文件夹中,我们可以看到多出了一个叫 Homestead.yaml 的文件。使用 notepad++ 打开它,可以看到内容如下:
1 | |
我们一条一条来配置。
首先我们需要建立 SSH Key 并且填入路径。在 Git Bash 中,输入:
1 | |
完成后,我们会在用户根目录下看到一个 .ssh 文件夹,里面分别有
1 | |
两个文件,分别对应配置文件中
1 | |
接下来我们看到这两段配置
1 | |
其中 folders 中,将 map 后面的文件夹 ~/Code 映射到 Homestead 中的 /home/vagrant/Code 。这就像我们常见到的和虚拟机中系统共享文件夹类似, 我们把本机的 ~/Code 文件夹分享给 Homestead, 所以我们可以很方便地使用自己喜欢的 IDE (比如 PhpStorm ) 进行开发,在 ~/Code 中所进行的修改会如实反应在 Homestead 对应的文件夹中。在 sites 中,我们定义了 homestead.app 指向 /home/vagrant/Code/laravel/public 这个文件夹,即 Laravel 项目的 public 文件夹。这样在浏览器中输入 homestead.app, 我们就可以直接看到项目主页了。
注意:以上的文件夹及映射是可以根据用户喜好更改的,比如我喜欢把我的开发文件夹叫做 WebDev,在里面我新建了一个叫 teahouse 的项目,那么以上的配置,我就可以做出相应修改:
1 | |
是不是很方便呢?
下一步我们要在 Windows 的 C:\Windows\System32\drivers\etc\hosts 文件中添加一行:
1 | |
用 notepad++ 打开即可:
1 | |
接下来我们来看
1 | |
在这里,我们每添加一个数据库名字,那么 Homestead 将会自动创建一个该名字的数据库来供我们操作。
在这里,我添加了一个新的数据库:
1 | |
注意:不要使用tab来留空,否则会报错(可以是用空格对齐)。默认的MySQL服务器用户名为homestead,密码是secret。
将 Homestead.yaml 保存,我们就可以启动 Vagrant 了!激动吗?
以管理员的身份打开 Git Bash, 输入
1 | |
Vagrant 已经顺利运行了!
接下来,要进入 Homestead, 我们输入
1 | |
还差一步,我们就大工告成:
1 | |
现在开始,我们可以开始 sLaravel 的开发了!
另外,如果在安装过程中出现以下错误:
1 | |
解决办法如下(已测试):
降级 VirtualBox 或者修改以下目录下的文件中的第 206 行:
C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.9.2\lib\vagrant\util\platform.rb
在我的配置文件中,第 206 行为
1 | |
我们只需要把前面的代码删掉,留下
1 | |
再运行 vagrant up 即可。
在 stackoverflow 上有人说自己的配置为:
1 | |
如果有一样的配置,按照上面的方法操作即可。