对于一个偏爱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 Bash
Vagrant
Virtual Box
Homestead
注意: 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 |
|
如果有一样的配置,按照上面的方法操作即可。