1.安装 Parallels Desktop for Mac
https://www.parallels.com/products/desktop/
安装最新版即可
2.安装最新版vagrant
https://www.vagrantup.com/downloads
安装完成后在终端使用vagrant -v命令查看,出现版本号即成功
3.安装homestead
在终端依次运行如下命令:
git clone https://github.com/laravel/homestead.git ~/Homestead
cd ~/Homestead
git checkout release
bash init.sh
4.安装vagrant-parallels
命令:vagrant plugin install vagrant-parallels
网络连接可能较慢,稍等一会即可成功
5.安装arm架构的vagrant box
https://app.vagrantup.com/yodoware/boxes/homestead-arm64
下载网页底部的parallels Hosted by Vagrant Cloud (2.62 GB),将下载之后的文件重命名为parallels.box
6.创建metadata.json文件,内容为:
{
"name": "laravel/homestead",
"versions": [{
"version": "11.3.0",
"providers":[
{
"name": "parallels",
"url": "/Users/{username}/Downloads/parallels.box"
}
]
}]
}
将url路径设置为刚刚重命名的parallels.box的完整路径,如果你也是在Downloads文件夹中,那么只需将{username}替换为你的用户名
7.创建vagrant架构的box
运行:vagrant box add metadata.json
8.运行vagrant up启动虚拟机
9.vagrant ssh 登录
10.新建一个名为 Laravel 的项目:
composer create-project laravel/laravel Laravel --prefer-dist "9.*"
11.打开另一个终端,配置hosts信息
code /etc/hosts
加入:192.168.56.56 homestead.test
注:此处ip与Homestead.yaml中的ip是一致的
之后访问http://homestead.test/查看效果:
其中vagrant的常用命令:
sudo vagrant box list: 查看所有虚拟机。
sudo vagrant global-status:查看虚拟机状态。
sudo vagrant box remove 虚拟机名称:移除虚拟机。
sudo vagrant destroy 虚拟机id:销毁虚拟机。
sudo vagrant box add 虚拟机:创建虚拟机。
sudo vagrant up:启动虚拟机。
sudo vagrant reload --provision:修改了配置,重启下虚拟机。
坑:
1.多次安装可能会在运行vagrant up的时候提示:
Parallels Desktop virtual machine with the name ‘homestead’ already exists.
Please use another name or delete the machine with the existing
name, and try again
如果报以上的错误,可能是因为Parallels Desktop
,你已经创建过同名的虚拟机了,可以使用命令:
sudo vagrant box list
查看所有的虚拟机:
可以使用命令:
sudo vagrant box remove laravel/homestead(这个是你的虚拟机名称) 来移除这个虚拟机。
如果移除了,再sudo vagrant up还是报相同的错误的话,那么也有可能是缓存引起的,可以在Homestead\scripts\homestead.rb文件中修改几处命名:换个命名就可以解决这个问题,并且启动虚拟机了。
在有出现settings['hostname']
的地方都重新替换。
2.运行laravel项目时出现502Bad Gateway
http://blog.murongx.cn/archives/4093
另:
因以上是使用的11.3.0的box,里面有php版本问题。后来又使用官方推荐的方法
https://laravel.com/docs/8.x/homestead#first-steps
直接在Homestead.yaml文件中添加box: laravel/homestead-arm,安装时自动下载最新的homestead arm的box,就不会有502Bad Gateway的问题了,配置文件如下: