搜索
首页php框架Laravel终于成功搭建Laravel Sail环境 !

下面由laravel教程栏目给大家介绍怎么成功搭建Laravel Sail环境 ,希望对需要的朋友有所帮助!

前言

什么是美?

在搭建的环境成功启动的那一刻,如果你问我什么是美?

我会毫不犹豫甩出以下这张图:

闲话少说,本文主要分为一下三部分内容,

第一部分,搭建过程,分享自己成功搭建Laravel Sail环境的方法和步骤(与站内的文档有细微对的差别);

第二部分,心路历程,分享自己搭建过程中的心态变化,人不是机器,所以在做事的时候许多想法,一些想法会帮助我们做事,一些则会让我们停滞不前;

第三部分,谈谈以后的事情,也说说为什么会有这篇文章。

让我们开始。

搭建过程

我的电脑

首先明确一下自己电脑的情况,如下图:

那么,如何查看自己电脑的情况呢?

两步。

1.win+R键打开“运行”对话框,输入cmd,回车。

2.在cmd命令行中输入winver,回车,你将会看到以上这张图出现在你的桌面。

如果你的Windows系统跟我的在细节上存在差别,也是可以的,具体可以参照站内教程关于系统的部分。

我这部分,只是为了明确一下自己的系统细节,不是说你的系统必须和我一样。

我的步骤

对于想要搭建环境的朋友来说,这是全文最重要的部分。

我的步骤,和站内给出的教程有着细微的不同,也是在这部分,让我体会到了细节决定成败。

首先,站内Laravel 8 中文文档是这么说的:

在新建 Laravel 应用前,请确保你的 Windows 电脑已经安装了 Docker Desktop。
之后,请确保已经安装并启用了适用于 Linux 的 Windows 子系统 2 (WSL2)。
WSL 允许你在 Windows 10 上运行 Linux 二进制文件。
关于如何安装并启用 WSL2,请参阅微软 开发者环境文档。

一开始,我的安装顺序是:Docker Desktop –>Windows 子系统 2 (WSL2)。

所以,一开始我没有成功。

但是,我仔细阅读留两个补充文档之后,发现,安装顺序应该反过来:Windows 子系统 2 (WSL2)–>Docker Desktop。

具体的步骤可能会经历几次重启,看我们来看:

第1步:

以管理员身份运行cmd;

输入:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

回车,执行完成,重启电脑。

第2步:

以管理员身份运行cmd;

输入:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

回车,执行完成,重启电脑。

第3步:下载 Linux 内核更新包

更新包下载地址

下载完成后,运行,安装,这个更新包安装很快的。

第4步:将 WSL 2 设置为默认版本

以管理员身份运行cmd;

输入:

wsl --set-default-version 2

回车。

第5步:安装Ubuntu和Windows Terminal

打开电脑的微软商店,分别搜索Ubuntu和Windows Terminal,按顺序安装。

顺便提一句,Ubuntu第一次运行的时候,需要你设置账号和密码,但是,输入密码的时候,命令行里面是没有任何提示的,我一开始不知道这一点,有点懵。

第6步:检查成果

运行cmd;

输入:

wsl --list --verbose

回车,我的结果如下图:

重点是我标注的那一行,最后的数字是 2 就可以了。

到这里,你已经非常接近成功了,朋友。

第7步:安装Docker Desktop。

Docker Desktop下载地址

下载完成后,安装,什么都不用管,一直点next,直到完成。

第8步:跟着站内的教程走。

完成了以上步骤,让我们回到站内的环境部署教程,下图中标记的内容开始,提示:点击目录可以一键直达相关内容。

但是我的情况,与教程有一处细微的不同,那就是Docker Desktop开启 WSL2 模式的设置中,我的设置里显示如下图,是默认开启的。

如果你也遇到这种情况,只能说,有缘啊~

第9步:礼物

这一步,请在成功创建测试项目之后,在执行。

创建测试项目之后,需要进行编译,会下载大量的东西,为了加快这一过程,需要把一部分内容修改成国内的镜像源。

站内教程的操作有两个关键:

  1. 新建 sources.list 文件。

  2. 修改 Dockerfile 文件。

在这里,我已经把需要新增的 sources.list 和修改后的Dockerfile 准备好,朋友们可以直接下载,然后替换对应文件即可。

下载地址
提取码:

i3kn

替换目录:

你的项目位置 \ example-app \ vendor \ laravel \ sail \ runtimes \ 8.0

第10步:等待和耐心

替换完成之后,你需要根原教程一样,在项目根目录,也就是example-app内执行:

./vendor/bin/sail up

到了这一步,请给一点耐心,你会看到电脑一直在编译和执行,也许你还会听到电脑风扇的声音变大了,更有可能的情况是,你会经历几次失败。

但是没关系,只要你已经耐心的根据教程操作,并且关键画面都与教程对的上,那你就是对的。

失败的原因,也许是网络,或者其他你无法控制的东西,我在这一步,也失败了好几次,但是,我依然输入 ./vendor/bin/sail up,然后按下回车。

编译成功之后,你就可以用浏览器打开localhost/

如果你看到如下画面,恭喜你,你成功了(是的,没错)。

心路历程

如果你成功安装了 Laravel Sail 环境,那就来听我聊聊天吧。

其实一开始选择 Laravel 环境的时候,也是选的Laravel Sail,但是因为步骤的关系,下载回来的 Ubuntu 子系统不是wsl2模式,于是毫无意外地失败了。

这次尝试失败之后,我开始尝试搭建 Homestead 环境。

于是,真正的折磨开始了,可惜当时的我并不知道这回事,我清晰地记得,第一次按照教程往下搭建的时候,我甚至都不能运行 vagrant up 命令,无法进入虚拟机。

那是大前天的下午,我按照教程走了两遍,无果。

于是我开始翻看教程下的讨论,发现有人留言自己安装环境花了半个月时间。

看到这句话的时候,我惊讶又有一点莫名的安心——我才哪里到哪里啊?对吧。

于是我放下事情,去追番去了。

过后的第二天,也就是前天,我再次尝试安装Homestead环境,这次与前一天的不同是,我参考了b站的视频教程,并且在每一次,安装之后,都重装电脑的系统。

因为不知道谁说的,重装系统可以解决90%的问题(剩下10%是需要重装电脑的人,无法解决的)。

靠着百度搜索、B站视频、以及站内安装Homestead环境的教程,这一天,我成功运行 vagrant upvagrant ssh 进入了虚拟机。

不停地尝试,却没有成功在虚拟机中启动Laravel,说实话我是失落的,但也有一股 我根本没在怕 的想法支持着我一直往下走。

时间来到昨天,经历前一天的失败,我最主要的问题是,Laravel为什么会安装失败?

顺着这个思路,根据系统给出的错误提示去百度(知乎,微信),去尝试,去思考。

最后,可是说是误打误撞地把 Laravel 安装成功了,然而打开测试网址,却发现是No input file specified提示。

根据讨论和百度得出的结果,是虚拟机文件映射的问题。

那就调整 Homestead.yaml 中的配置咯。经过几番尝试,我终于如愿打开了Laravel默认页面。

可是,问题来了:

我无法修改这个页面,文件在我的本机里面找不到!

安装教程原原本本的设置文件映射路径,结果是Laravel安装失败,显示提示是无法删除Laravel目录。

略微调整设置文件映射路径之后,Laravel安装成功,但是打开测试网址,显示No input file specified

最终,再次调整,Laravel安装成功并且可以打开默认页面了,但是,在本机却无法修改。

也就是说,我昨天大半天的时间,都与 Homestead.yaml 文件斗智斗勇,期间,每次失败之后,我没有重装系统。

因为我想,我连重装系统都敢做,为什么我不敢运行 vagrant destory命令和删除相关文件夹呢?

其实,也是因为在多次的尝试和几个教程的比对中,我已经的大概了解每个命令的作用是什么,能达到什么效果。

最终,在昨天傍晚,我再次用浏览器打开了 Laravel 欢迎页面,但是我依然无法修改,这个页面的任何内容,原因和之前一样。

那一刻,我累了。

于是我决定把时间交给Laravel Sail,把Homestead先推到一边。

这两天的尝试,让我的有态度习惯变得更细致,我同时打开了Laravel Sail部署教程,Laravel 8中文文档、文档和几个相关资料,把相关内容看了一遍,总结步骤。

一路下来,居然很顺利,就开始用Docker编译Laravel示例项目了。

我看编译需要一段时间,我趁这段时间,吃了晚饭。

晚饭回来打开电脑,发现编译失败,我内心毫无波动,输入命令再次编译。

然而,异变陡然出现:successful这个单词我还是认识的,我忍住欣喜,打开localhost/

那一刻,我知道Laravel Sail安装成功了。

打开项目文件夹,修改 index.php 的内容,终于,出现了如本文第一张图所示的内容。

真的成功了。

我超棒的。

我想。

以后的事

我在的学校的专业属于设计专业,但是网页设计课让我接触到前端(HTML + CSS + JavaScript),还有游戏设计让我接触到了编程(Unity3d + C#)。

仅仅只是接触了皮毛,当初并没有在意,我的编程尝试也很简单,想通过Python考取计算机二级证书。

结果当然是失败了,因为当时,我还没认识到“重复”这个行为对编程的重要性。

毕业之后从事设计工作,发现自己对设计工作兴致缺缺,今年开始尝试转行,360行,行行转编程。

我也是这么干的。并且我选择世界上最好的语言作为我的入行语言,希望能够成功转行。

感谢这个时代和社区的朋友,提供了大量的学习资料,非常感谢。

以上是终于成功搭建Laravel Sail环境 !的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:learnku。如有侵权,请联系admin@php.cn删除
技术问题:确保公平地访问分布式团队成员的工具和资源技术问题:确保公平地访问分布式团队成员的工具和资源Apr 29, 2025 am 12:40 AM

确保分布式团队成员公平获取工具和资源的方法包括:1)使用低带宽替代方案,如异步视频或文本更新,解决连接问题;2)设立核心重叠工作时间,并提供灵活工作时间,管理时区差异;3)通过翻译功能和文化意识培训,适应不同文化需求。这些策略有助于创建一个包容和高效的远程工作环境。

即时消息必备:在远程设置中促进实时通信即时消息必备:在远程设置中促进实时通信Apr 29, 2025 am 12:38 AM

ForenHancingRemoteCollaboration,AninStantMessagingToolMusThave:1)可靠性ForConsistentMessagedElivery,2)AnintuiveduserInterInterterfaceforeasyNavigation,3)Real-Timenotificationstostostostostostostostostostostostostostostostostayupdated,4)SeamelessleslesslesslesslesselessfileSlessFileSlessFileSlessFileSleSlessForefliceForefficeDocumentExchange,5)集成

在分布式团队中工作时,您是否曾面临任何挑战?在分布式团队中工作时,您是否曾面临任何挑战?Apr 29, 2025 am 12:35 AM

Thebiggestchallengeofmanagingdistributedteamsiscommunication.Toaddressthis,usetoolslikeSlack,Zoom,andGitHub;setclearexpectations;fostertrustandautonomy;implementasynchronousworkpatterns;andintegratetaskmanagementwithcommunicationplatformsforefficient

新的Laravel版本有什么安全性改进?新的Laravel版本有什么安全性改进?Apr 29, 2025 am 12:17 AM

Laravel的最新版本在安全性方面有显着提升,包括:1.增强的CSRF保护,通过更robust的token验证机制;2.改进的SQL注入防护,通过增强的查询构建方法;3.更好的会话加密,确保用户数据安全;4.改进的认证系统,支持更细粒度的用户认证和多因素认证(MFA)的实现。

时区探戈:在全球劳动力中导航计划冲突时区探戈:在全球劳动力中导航计划冲突Apr 29, 2025 am 12:13 AM

TonavigatesChedulingConflictSinaglobalworkforce,Usetechnology,Ensathy and Strategicplanning:1)hosporlikeTimeBuddyorCalendlyForscheduling; 2)RotateMeetingTimeStoEnsurefairness; 3)spentCoreSurefair; 3)specoreCoreHoursibible foreverlap; 4)

Laravel的全堆栈开发:管理API和前端逻辑Laravel的全堆栈开发:管理API和前端逻辑Apr 28, 2025 am 12:22 AM

在Laravel全栈开发中,管理API和前端逻辑的有效方法包括:1)使用RESTful控制器和资源路由管理API;2)通过Blade模板和Vue.js或React处理前端逻辑;3)通过API版本控制和分页优化性能;4)保持后端和前端逻辑分离,确保可维护性和可扩展性。

翻译失落:分布式团队中的文化细微差别和误解翻译失落:分布式团队中的文化细微差别和误解Apr 28, 2025 am 12:22 AM

TotackleculturalIntricaciesIndistributedTeams,fosteranenvironmentcelebratingDifferences,BemindfulofCommunication,andusetoolsforclarity.1)enmulcultulalexchangessessionStossessessionStosharestories andraditions.2)

测量连接:分析和见解远程通信有效性测量连接:分析和见解远程通信有效性Apr 28, 2025 am 12:16 AM

Toassesstheeffectivenessofremotecommunication,focuson:1)Engagementmetricslikemessagefrequencyandresponsetime,2)Sentimentanalysistogaugeemotionaltone,3)Meetingeffectivenessthroughattendanceandactionitems,and4)Networkanalysistounderstandcommunicationpa

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版