在 Windows 上开发 Laravel,最佳实践是使用 WSL(Windows Subsystem for Linux)。可以直接使用 Linux 的工具链,和 macOS 或生产服务器上跑同一套命令。
本指南在 WSL 2 上的 Ubuntu 里安装 PHP、Composer、Node.js(通过 nvm),一直到 laravel new 能正常工作。
目标环境:Windows 10(版本 2004 及以上)或 Windows 11。使用 WSL 2。
安装 WSL
以管理员打开 PowerShell
在开始菜单里搜索 “PowerShell”,选择 “以管理员身份运行”。
安装 WSL 与 Ubuntu
这条命令会安装 WSL 2 和 Ubuntu(默认发行版)。完成后重启电脑。 配置 Ubuntu
重启后 Ubuntu 会自动启动,设置用户名和密码。这个密码在 sudo 命令中会用到。 更新包列表
在 Ubuntu 终端里执行:sudo apt update && sudo apt upgrade -y
安装 PHP
Ubuntu 官方源里的 PHP 可能版本较旧。用 ondrej/php PPA 安装最新版。
安装必要的包
sudo apt install -y software-properties-common
添加 ondrej/php PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安装 PHP 8.3 与必要扩展
Laravel 13 需要 PHP 8.3 及以上。sudo apt install -y php8.3 php8.3-cli php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip php8.3-sqlite3 php8.3-mysql
(可选)在多个 PHP 版本之间切换
如果需要多个 PHP 版本,可以用 update-alternatives 切换。sudo update-alternatives --config php
列出已安装的版本,输入要使用版本对应的编号。
安装 Composer
使用官方 installer 安装 Composer。
确认必要的包
sudo apt install -y curl php8.3-cli unzip
下载并执行官方 installer
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
设置全局安装的路径
为了能使用通过 composer global require 安装的包(如 Laravel installer),把 ~/.composer/vendor/bin 加入 PATH。在 ~/.bashrc(或 ~/.zshrc)里追加:export PATH="$HOME/.composer/vendor/bin:$PATH"
使配置生效:
安装 nvm
Node.js 用 nvm(Node Version Manager)按用户级别安装。不需要 sudo,和使用全局 npm 包的 AI 工具、CLI 兼容性也更好。
安装 nvm
最新的安装脚本可以在 nvm 的 GitHub 仓库 查看。curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
在 shell 配置里追加
安装脚本会自动向 ~/.bashrc 追加下面这些行。如果没有追加,请手动加上。export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
使配置生效:使用 zsh 时,请把同样内容追加到 ~/.zshrc,并 source ~/.zshrc 让其生效。
安装 Node.js
确认版本
node --version
npm --version
验证 Laravel 安装
安装 Laravel installer
composer global require laravel/installer
创建新项目
会开始交互式安装,可以选择启动套件、是否加入认证等。 启动开发服务器
cd my-app
php artisan serve
在浏览器访问 http://localhost:8000,看到 Laravel 欢迎页就完成了。如果 WSL 中的服务在 Windows 浏览器里无法访问 localhost,可以尝试用 php artisan serve --host=0.0.0.0 启动。
补充:提升开发效率的工具
Windows Terminal
Windows Terminal 让你能用多个 tab 集中管理 WSL、PowerShell、命令提示符。可以从 Microsoft Store 免费安装。
- 在 tab 中并行操作多个 shell
- 可以把 Ubuntu shell 设为默认
- 字体和配色可自由定制
VS Code Remote - WSL 扩展
用 VS Code 的 Remote - WSL 扩展,可以在 Windows 的 VS Code 中直接编辑 WSL 里的文件。
# 在 WSL 终端里用 VS Code 打开项目
code .
首次执行时,VS Code 会自动在 WSL 里安装 VS Code Server。之后就能获得几乎和原生一致的开发体验。