本文目录

  • 一、环境要求
  • 1、mac M1
  • 2、macOS Big Sur 11.3.1以上
  • 3、Parallels Desktop 16 for Mac
  • 4、Vagrant
  • 二、安装homestead以及虚拟机
  • 1、安装homestead
  • 2、安装arm架构vagrant box
  • 三、效果测试
  • 四、踩坑记录
  • 五、vagrant常见命令
  • 六、虚拟机安装laravel,本地测试


一、环境要求

1、mac M1

这个就是你的m1 mac电脑了。

2、macOS Big Sur 11.3.1以上

升级系统11.3.1以上

以下是我系统:

m1 安装python3 m1 安装steam_php

3、Parallels Desktop 16 for Mac

这个去官网下载地址给出:

https://www.parallels.com/products/desktop/m1 安装python3 m1 安装steam_php_02
m1 安装python3 m1 安装steam_laravel_03
点击下载,下载完成之后,运行安装.dmg后缀文件。

这个虽然是收费,但是我们后面用的vagrant-parallels是免费的。

4、Vagrant

地址:

https://www.vagrantup.com/downloads 有最新的用最新的AMD
m1 安装python3 m1 安装steam_laravel_04

点击下载。下载完成之后,运行安装.pkg后缀文件。

下载完之后在终端运行命令vagrant -v,出现如下图,说明安装成功:

m1 安装python3 m1 安装steam_php_05

二、安装homestead以及虚拟机

1、安装homestead

在终端依次运行如下命令:

  1. sudo git clone https://github.com/laravel/homestead.git ~/Homestead
  2. sudo cd ~/Homestead
  3. sudo git checkout release
  4. sudo bash init.sh
  5. sudo ssh-keygen -t rsa
我们将Homestead用vscode打开,做如下修改:

m1 安装python3 m1 安装steam_m1 安装python3_06


保存。

2、安装arm架构vagrant box

tips:以下命令也在Homestead文件夹下运行。
  1. 安装vagrant-parallels,命令:sudo vagrant plugin install vagrant-parallels 如图安装成功:
  2. m1 安装python3 m1 安装steam_m1 安装python3_07

  3. 下载arm架构的vagrant box网址如下:
    https://app.vagrantup.com/laravel/boxes/homestead-arm 下载最新的
  4. m1 安装python3 m1 安装steam_php_08

  5. 下载下来后记得重命名为parallels-homestead-arm.box
  6. Homestead文件下新建metadata.json写入如下代码:
    版本要对应上13.0.0
{
    "name": "laravel/homestead-arm",
    "versions": [{
        "version": "13.0.0",   
        "providers":[
            {
            "name": "parallels",
            "url": "/Users/justin/Downloads/parallels-homestead-arm.box"  
            }
        ]
    }]
}

url一定修改成你刚刚下载并重命名parallels.box的路径位置。如果你也是当中Downloads中就不用修改。当然justin肯定得改成你自己的。

修改Homestead/scripts/homestead.rb中:

m1 安装python3 m1 安装steam_homestead_09

  1. 执行命令:sudo vagrant box add metadata.json 创建arm架构vargant box。
  2. 运行sudo vagrant up如下成功运行虚拟机:
  3. m1 安装python3 m1 安装steam_m1 安装python3_10

  4. 执行sudo vagrant ssh进入,如下成功:
  5. m1 安装python3 m1 安装steam_homestead_11

至此m1搭建Homestead开发环境完成。

三、效果测试

可以看到这行代码homestead1: /home/vagrant/code => /Users/justin/code可以知道在本地 /Users/justin/code与虚拟机/home/vagrant/code已经文件发生变化的时候保持同步。我们可以测试下:

在虚拟机进入code文件夹创建文件test命令:touch test:

m1 安装python3 m1 安装steam_m1 安装python3_12


我们看下本地是不是也同步:

m1 安装python3 m1 安装steam_homestead_13


可以看到本地已经同步,说明我们的环境搭建的没有问题。

四、踩坑记录

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 查看所有的虚拟机:

m1 安装python3 m1 安装steam_laravel_14


你可以使用命令:

sudo vagrant box remove laravel/homestead(这个是你的虚拟机名称) 来移除这个虚拟机。

如果移除了,再sudo vagrant up还是报相同的错误的话,那么也有可能是缓存引起的,具体的怎么解决我也不大清楚,但是我们可以查看它运行时的代码源文件,在Homestead\scripts\homestead.rb: 我们修改几处命名:换个命名就可以解决这个问题,并且启动虚拟机了。:

m1 安装python3 m1 安装steam_arm架构_15


在有出现settings['hostname']的地方都重新替换。

五、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 :修改了配置,重启下虚拟机。

六、虚拟机安装laravel,本地测试

在虚拟机code目录下执行命令laravel项目:

composer create-project --prefer-dist laravel/laravel=8.4.4 shopApi

m1 安装python3 m1 安装steam_m1 安装python3_16

安装完成后可以看到本地:

m1 安装python3 m1 安装steam_laravel_17


然后修改homestead.yaml

m1 安装python3 m1 安装steam_php_18


由于我们修改了配置文件,所以我们新开一个终端进入Homestead下执行命令:

sudo vagrant reload --provision重启下虚拟机:

m1 安装python3 m1 安装steam_m1 安装python3_19


然后再在\etc\host下写入域名映射:

m1 安装python3 m1 安装steam_homestead_20


然后用浏览打开http://homestead.test/,可以看到laravel已经跑起来了,美美的图如下:

m1 安装python3 m1 安装steam_arm架构_21

在此记录下m1搭建Homestead开发环境,总结了搭建的所有的坑,希望能帮助到你。