시작하며
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(기본 배포판)가 설치됩니다. 완료 후 PC를 재기동합니다. 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 8.3.x 이상이 표시되면 성공입니다.(선택) 여러 버전 전환
여러 PHP 버전이 필요한 경우는 update-alternatives로 전환할 수 있습니다.sudo update-alternatives --config php
설치된 버전 일람이 표시되므로, 사용할 버전의 번호를 입력합니다.
Composer 설치
Composer는 공식 인스톨러를 사용하여 설치합니다.
필요한 패키지 확인
sudo apt install -y curl php8.3-cli unzip
공식 인스톨러 다운로드 및 실행
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 인스톨러 등)를 사용할 수 있도록, ~/.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
셸 설정 파일에 추기
설치 스크립트는 자동으로 ~/.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 인스톨러 도입
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을 사용하면, 여러 탭에서 WSL · PowerShell · 명령 프롬프트를 일원 관리할 수 있습니다. Microsoft Store에서 무료로 설치할 수 있습니다.
- 탭에서 여러 셸을 병렬 조작
- Ubuntu 셸을 기본으로 설정 가능
- 폰트나 색 배합을 자유롭게 커스터마이즈
VS Code Remote - WSL 확장
VS Code의 Remote - WSL 확장을 사용하면, WSL 내의 파일을 Windows의 VS Code에서 직접 편집할 수 있습니다.
# WSL 터미널에서 프로젝트를 VS Code로 열기
code .
첫 실행 시에 VS Code 서버가 WSL 내에 자동 설치됩니다. 이후에는 네이티브와 동등한 조작감으로 개발할 수 있습니다.