【原创】Mac M1 安装Homestead环境

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的问题了,配置文件如下:

 

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注