m1搭建homestead环境,m1安装homestead环境

article/2025/9/15 14:31:37

本文目录

  • 一、环境要求
    • 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以上

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

3、Parallels Desktop 16 for Mac

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

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

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

4、Vagrant

地址:

https://www.vagrantup.com/downloads
有最新的用最新的AMD
在这里插入图片描述

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

下载完之后在终端运行命令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
  5. sudo ssh-keygen -t rsa

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

2、安装arm架构vagrant box

tips:以下命令也在Homestead文件夹下运行。
  1. 安装vagrant-parallels,命令:sudo vagrant plugin install vagrant-parallels
    如图安装成功:
    在这里插入图片描述

  2. 下载arm架构的vagrant box网址如下:
    https://app.vagrantup.com/laravel/boxes/homestead-arm
    下载最新的
    在这里插入图片描述
    下载下来后记得重命名为parallels-homestead-arm.box

  3. 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中:
在这里插入图片描述

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

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

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


http://chatgpt.dhexx.cn/article/2CXlhZYp.shtml

相关文章

Homestead安装

安装软件 安装vargrant;安装Virtualbox安装git导入box 下载homestead.box,点击下载。 新建了一个文件夹名为homestead,然后将下好的box重命名为homestead.box放入,然后在此文件夹内运行如下命令(这里是按照一些普通的教程来添加,这时候挖了一个坑,后面填上)。 vagran…

vagrant Homestead 环境搭建

一. 搭建步骤 1、vagrant plugin install vagrant-vbguest 安装vagrant 先下载vagrant再执行指令 2、git config --global http.schannelCheckRevoke false 执行vagrant box add laravel/homestead 报错 解决: 手动下载 https://vagrantcloud.com/laravel/boxes/…

开发环境搭建homestead - windows

系统要求 Windows7 及以上。 步骤简略 安装 VirtualBox安装 vagrant导入 Homestead Box 虚拟机盒子安装 Git安装 Homestead 管理脚本配置 Homestead.yaml 文件启动 Homestead 虚拟机开启 NFS 挂载模式 安装 VirtualBox VirtualBox 是 Oracle 公司的开源虚拟机软件。Virtua…

Homestead 发布

以太坊开发开始于2013年12月份,当时两个开发者和一个大学辍学生(译者注:即Vitalik)决定集思广益,一起开发这一项目。后来与我们群志趣相投的人也加入了。我们的第一个概念验证(Proof of Cocept 1&#xff0…

TCP的三次握手和四次挥手(超详解)

TCP的三次握手和四次挥手 TCP的连接建立 TCP的连接建立的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段。下图画出了三报文握手建立TCP连接的过程。 假定最初主机A运行的是TCP客户端程序,而B运行的是TCP服务端程序。最初两端的TCP进程都处…

简述TCP三次握手和四次挥手过程

TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.第一次握手:建立连接时,客户端发送syn包(synj)到服务器,并进入SYN_SEND状态,等待服务器确认; SYN:同步序列编号(Synchronize Sequence Numbers)第二次握手&a…

TCP三次握手和四次挥手解析

三次握手(建立连接) (1)序号:seq序号,占32位,用来标识从TCP客户端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:ack序号&a…

简述TCP的三次握手和四次挥手

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂&am…

简单理解TCP的三次握手和四次挥手

本文用简洁的语言教你理解TCP的三次握手和四次挥手,匆忙写的,审美可能有待提升。 本文适合入门,基础不高的同学观看,以便有一个大概的了解。深入的同学还请高抬贵手。 还有请记住,是传输层中TCP的东西,不…

tcp三次握手和四次挥手的过程

TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号 并交换 TCP窗口…

TCP的三次握手和四次挥手

一、TCP介绍 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务端保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种…

TCP三次握手和四次挥手的全过程

三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,希望大家能带着如下问题进行阅读,收获会更大: 请画出三次握手和四次挥手的示意图为什么连接的时候是三次握手?什么是半连接队列?ISN(Initial Sequence Number)是…

TCP的三次握手和四次挥手总结

TCP的三次握手和四次挥手总结 本文经过借鉴书籍资料、他人博客总结出的知识点,欢迎提问 序列号 seq:占 4 个字节,用来标记数据段的顺序,TCP 把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生…

三次握手和四次挥手知识总结(超详细)

前言: 最近学习了计算机网络的知识,看了很多的视频,并参考了很多资料,写下了这将近4500字的与“三次握手和四次挥手”相关的知识,希望能帮助到各位小伙伴儿以及加深自己印象,方便以后复习用 如果有什么写的…

简述TCP的三次握手和四次挥手过程

①TCP是一种精致的,可靠的字节流协议。 ②在TCP编程中,三路握手一般由客户端(Client)调用Connent函数发起。 ③TCP3次握手后数据收发通道即打开(即建立了连接)。 ④简述三路握手过程: 图 .TCP三次握手 (1)第一次握手:C…

通俗易懂理解TCP协议三次握手和四次挥手及其常见问题

TCP协议三次握手和四次挥手 三次握手如果建立连接只需要2次握手,可能会出现的情况 四次挥手为什么建立连接是三次握手,关闭连接确是四次挥手呢?TIME_WAIT状态有什么作用,为什么主动关闭方没有直接进入CLOSED状态释放资源&#xff…

TCP的三次握手和四次挥手详解

TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接,与之相反的,采用四次挥手来断开连接: TCP标志位有6种标示,即:SYN(建立联机) 、 ACK(确认) 、 PSH(传送) 、…

TCP三次握手和四次挥手详解(面试常见问题)

大概两个月前,一位朋友在面试360集团时,在面试过程中被问及TCP三次握手和四次挥手的相关知识,他当时只知道大概,但当时面试官问他TCP三次握手过程中发送的数字是多少,他一下子就懵住了,因为这也是他第一次参…

详解TCP 三次握手和四次挥手

任 TCP 虐我千百遍,我仍待 TCP 如初恋。 过去不会没关系,今天就让我们来消除这份恐惧,微笑着勇敢的面对它吧! 1、TCP 基本认识 2、TCP 连接建立 3、TCP 连接断开 4、Socket 编程 TCP 基本认识 瞧瞧 TCP 头格式 我们先来看看 TC…

简述三次握手和四次挥手

三次握手 第一次握手:客户端给服务端发送一个SYN报文,并指明客户端的初始化序列号,此时客户端处于SYN_SENT状态 第二次握手:服务端收到客户端的SYN报文之后,会回复SYN报文作为应答,并且也指定了自己的初始…