这个难度比较大的原因不在于技术,而是因为你离线下载的内容导致不成功,不要参见国外教程。因为人家没有网络问题,所以看外部教程是不能成功的。
1. 下载三个软件,并完成安装,安装完成后重新启动电脑
virtualbox -这是个虚拟机软件,可以在你的系统上建立虚拟机
vagrant -这个软件的目的是使用命令行操作虚拟机
git -这个软件其实很强大,在这里主要是用git命令安装homestead
下载后正常安装就可以了,第一步完成,这里面有个坑:vagrant 是命令行,所以你要确保在系统路径下。这样在任何目录都可以使用这个命令。
2. 添加homestead镜像, 就是下载一个配置好Laravel环境的虚机镜像
如果你直接运行官方的命令,基本不能成功。很多人就失败在这步上 .
vagrant box add laravel/homestead
只能使用离线下载,可以使用offcloud, 也可以在国内云盘上找。virtualbox.box 这个文件。下载好以后使用下面的命令加载。
vagrant box add laravel/homestead 你自己的路径\virtualbox.box
3.克隆homestead配置文件
执行完成后会生成Homestead目录,这一步很容易也很快。
git clone https://github.com/laravel/homestead.git Homestead
4.生成Homestead.yaml文件
进入第3步生成的Homestead目录,运行命令init.bat (如果你用的是git bash 则使用bash init.sh)生成三个文件,打开其中一个文件名字是Homestead.yaml 的文件,文件位于Homestead,内容如下改一行就行. 这一行的目的是保持你本机的开发目录和虚机的开发目录文件是自动同步的。
- map: c:/Code (这一行就是你希望放本地代码的位置)
to: /home/vagrant/Code (这一行的意思是放在虚拟机里的代码位置,会自动和上面的目录同步的)
5.修改homestead.rb文件
本来这个时候,你可以启动虚拟机了,但你发现只要你使用vagrant up 这个命令,系统就会去下载BOX,于是失败(原因是你使用了离线的virtualbox.box文件)。这是最大的一个坑了,需要改动homestead.rb文件,在Homestead/scripts/这个目录下。
config.vm.box_version = settings["version"] ||= ">= 3.0.0"
将其修改为
config.vm.box_version = settings["version"] ||= ">= 0"即可
6.启动虚拟机
进入Homestead目录,使用命令vagrant up命令启动虚拟机. 好了,环境就这样可以使用了。
vagrant up
顺便聊聊如何关闭虚拟机使用
vagrant halt
7.访问网站。
在浏览器输入192.168.10.10 (这个IP是在第四步的文件里配置的)应该就能访问你的网站了,但实际这时候什么也看不到,因为目录里没有网站的代码。你需要把网站的代码放在第四步中所映射的目录中。例如第四步你将开发代码的目录放在
C:\Code
你可以将Laravel的全部目录放在这个文件夹下,也可以使用Composer 来进行安装。在Code目录下运行
composer create-project--prefer-dist laravel/laravel laravel
Composer 的使用在这里就不详细介绍了。
如果加载BOX时说了KEY的问题
$ ssh-keygen -t rsa -C "you@homestead"