m1搭建homestead环境

1,719 阅读3分钟

一、环境要求

1、mac M1

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

2、macOS Big Sur 11.3.1以上

升级系统11.3.1以上

以下是我系统: 在这里插入图片描述

3、Parallels Desktop 16 for Mac

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

www.parallels.com/products/de… 在这里插入图片描述 在这里插入图片描述 点击下载,下载完成之后,运行安装.dmg后缀文件。

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

4、Vagrant 2.2.15

地址:

www.vagrantup.com/downloads 在这里插入图片描述 点击下载。下载完成之后,运行安装.dmg后缀文件。

下载完之后在终端运行命令vagrant -v,出现如下图,说明安装成功: 在这里插入图片描述

二、安装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

我们将Homestead用vscode打开,做如下修改: 在这里插入图片描述 保存。

2、安装arm架构vagrant box

tips:以下命令也在Homestead文件夹下运行。

5. 安装vagrant-parallels,命令:sudo vagrant plugin install vagrant-parallels 如图安装成功: 在这里插入图片描述

  1. 下载arm架构的vagrant box网址如下: https://app.vagrantup.com/yodoware/boxes/homestead-arm64 拉到底: 在这里插入图片描述 下载下来后记得重命名为parallels.box
  2. Homestead文件下新建metadata.json写入如下代码:
{
    "name": "laravel/homestead",
    "versions": [{
        "version": "11.3.0",   
        "providers":[
            {
            "name": "parallels",
            "url": "/Users/justin/Downloads/parallels.box"  
            }
        ]
    }]
}

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

  1. 执行命令:sudo vagrant box add metadata.json 创建arm架构vargant box。

  2. 运行sudo vagrant up如下成功运行虚拟机: 在这里插入图片描述

  3. 执行sudo vagrant ssh进入,如下成功: 在这里插入图片描述 至此m1搭建Homestead开发环境完成。

三、效果测试

可以看到这行代码homestead1: /home/vagrant/code => /Users/justin/code可以知道在本地 /Users/justin/code与虚拟机/home/vagrant/code已经文件发生变化的时候保持同步。我们可以测试下: 在虚拟机进入code文件夹创建文件test命令:touch test: 在这里插入图片描述 我们看下本地是不是也同步: 在这里插入图片描述 可以看到本地已经同步,说明我们的环境搭建的没有问题。

四、踩坑记录

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']的地方都重新替换。

五、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 shopApi 在这里插入图片描述

安装完成后可以看到本地: 在这里插入图片描述 然后修改homestead.yaml在这里插入图片描述 由于我们修改了配置文件,所以我们新开一个终端进入Homestead下执行命令: sudo vagrant reload --provision重启下虚拟机: 在这里插入图片描述 然后再在\etc\host下写入域名映射: 在这里插入图片描述 然后用浏览打开http://homestead.test/,可以看到laravel已经跑起来了,美美的图如下: 在这里插入图片描述

在此记录下m1搭建Homestead开发环境,总结了搭建的所有的坑,希望能帮助到你。如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。