使用 Laravel Sail (WSL2) 启动您的 Laravel Web 应用程序

3,354 阅读4分钟

你可能熟悉 Laravel 开发环境中的 VirtualBox with Homestead。但是,这种传统的托管虚拟机在访问您的真实硬件资源之前会带来额外的开销。

1_tfXK94h9Rq0FQPfZFyzpNg.png

Laravel Sail 是一个轻量级的命令行界面,用于与 Laravel 的默认 Docker 开发环境进行交互。
Sail 为使用 PHP、MySQL 和 Redis 构建 Laravel 应用程序提供了一个很好的起点,而无需之前的 Docker 经验。

来源: Laravel 文档

在本教程中,我将带你使用 WSL 2 在 Windows 上启动你全新的 Laravel 项目。WSL 代表Windows Subsystem for Linux,它允许开发人员直接在 Windows 上运行 Linux 环境,而无需任何“真正的”托管 VM。WSL 2 是一项重大改进,它提供了 WSL 1 的优势以及更好的文件 IO 性能(快 20 倍)。它不像传统的虚拟机,启动速度慢、资源开销大、完全隔离。

让我们在 Windows 机器上打开 WSL 2!

🐧 安装 WSL 2

🛠️**简化安装(Windows 11 / Windows 10 版本 2004 或更高版本)
**以管理员权限打开命令窗口并运行
wsl --install,重启后即可使用 WSL。

image.png

如果该命令不适用于您的 Windows 10 版本,请尝试以下手动安装。

🛠️手动安装
(Windows 10 Build 18362
 或更高版本,  包括家庭版)

1.启用WSL

以管理员权限打开命令窗口,然后运行

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

2.启用虚拟机功能

WSL 2 仍然需要虚拟化功能。使用管理员权限打开命令窗口,然后运行

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

3.下载Linux内核更新包

下载适用于 x64 机器的 WSL2 Linux 内核更新包并安装。

然后,重新启动计算机。

4. 将 WSL 2 设置为默认版本

wsl --set-default-version 2

5. 安装 Ubuntu(或您选择的 Linux 发行版)

I) 打开Microsoft Store,然后搜索并选择Ubuntu
II ) 从发行版页面中,选择“获取”,然后选择“安装”
III) 准备就绪后单击“运行”
IV ) 为您的 Ubuntu 创建用户名和密码

6. wsl --list --verbose用于验证您的安装

image.png

🐳 安装 Docker

1. 下载
Docker Desktop 4.11.0 (83626)或更高版本。

2. 安装
按照安装向导安装 Docker Desktop。如果您的 WSL 2 配置正确,它应该会在安装过程中提示您启用 WSL 2。

image.png

image.png 在 Docker 菜单中,选择Settings > General:确保 WSL 2 已启用。

3. 配置 WSL 集成

确保打开正确的 Linux 发行版。

image.png

⛵让我们扬帆起航

启动Windows 终端并键入wsl

image.png

这是关键……您可能会注意到路径是您安装的 Windows 用户目录。
在 Microsoft WSL 官方文档中,它说明了比较。WSL 2 架构在几个方面优于 WSL 1,但跨 OS 文件系统的性能除外。

image.png

我们建议您不要跨操作系统处理您的文件,除非您有特定的理由这样做。
例如,在存储 WSL 项目文件时:

✔️ 使用 Linux 文件系统根目录:
\wsl$\Ubuntu\home<user name>\Project

❌ 不是 Windows 文件系统根目录:
C:\Users<user name>\Project

我们可以通过使用转到您的 Linux 主目录cd ~

test-project让我们使用以下命令创建一个新的 Laravel 项目:

curl -s "laravel.build/test-projec…" | bash

然后等待安装

image.png

你可能想知道如何访问你的 Laravel 项目文件?您可以通过网络共享访问\wsl$

\\wsl$\Ubuntu\home\ *<用户名>* \test-project

现在我们可以进入目录cd test-project并开始sail了!

./vendor/bin/sail up

第一次运行sail up需要一些时间来下载 docker 镜像和构建你的容器,但下一次运行会非常快。

如果您遇到任何问题,您的防病毒软件可能是罪魁祸首。请排除路径“ C:\ProgramData\DockerDesktop\vm-data”。

image.png

容器启动后,您可以访问http://localhost访问您全新的 Laravel 项目。

📦选择你的 Sail 堆栈

默认堆栈包括mysqlredismeilisearchmailhogselenium。可用服务包括mysqlpgsqlmariadbredismemcachedmeilisearchseleniummailhog

with您可以使用查询选择您最喜欢的堆栈:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

它将docker-compose.yml相应地配置您的文件。

后台启动 Sail

./vendor/bin/sail up -d

别名

不要输入长路径名,而是配置一个允许您sail直接调用的 Bash 别名

alias sail='bash vendor/bin/sail'

您可以创建一个别名,将别名永久添加到您的.bashrc文件中\

您可以创建一个别名,将别名永久添加到您的.bashrc文件中
,运行nano ~/.bashrc 然后在底部添加,然后**alias sail='bash vendor/bin/sail'ctrl+X保存

. ~/.bashrc

💾 开始你的编码

✍️ Visual Studio 代码

确保您安装了插件Remote — WSL 扩展

进入项目

cd ~/test-project/

#然后运行

code .

您应该能够看到 VS Code 启动并显示您的项目文件夹

image.png

image.png

💡提示:您可以artisan使用以下命令调用命令sail artisan <command>

快乐编码!💪💪💪

💡 提示:使用localhost默认用户名:sail和password:连接您的 SQL 管理软件。