C:\Users\Anda> laravel new toko-online
'laravel' is not recognized as an internal or external command,
operable program or batch file.
Menginstal Laravel 12 di Windows sebenarnya tidak sulit, tetapi ada beberapa titik yang sering membuat pemula tersandung: versi PHP yang terlalu lama, ekstensi PHP yang belum aktif di php.ini, Composer yang belum masuk PATH, sampai koneksi database yang masih mengarah ke SQLite padahal Anda ingin memakai MySQL dari XAMPP. Pesan seperti di atas adalah salah satu contohnya, dan penyebabnya hampir selalu soal PATH.
Artikel ini membahas cara install Laravel 12 di Windows secara berurutan, mulai dari menyiapkan PHP lewat XAMPP atau Laragon, menginstal Composer, membuat project dengan dua cara (laravel new dan composer create-project), menghubungkan ke database MySQL, sampai menjalankan aplikasi di browser. Di bagian akhir ada daftar error yang paling sering muncul saat instalasi beserta solusinya.
Kalau Anda benar-benar baru di Laravel dan ingin gambaran besarnya lebih dulu, baca juga panduan belajar Laravel dari nol. Setelah itu kembali ke sini untuk memasangnya di komputer Anda.
Syarat sebelum install Laravel 12
Laravel 12 membutuhkan PHP versi 8.2 atau lebih baru. Ini syarat yang paling penting, karena banyak paket XAMPP atau Laragon lama masih membawa PHP 8.0 atau 8.1. Dengan PHP di bawah 8.2, Composer akan menolak memasang Laravel 12 dan memberi pesan bahwa paket membutuhkan versi PHP yang lebih tinggi.
Selain PHP, Anda membutuhkan beberapa perangkat berikut:
| Perangkat | Fungsi | Wajib? |
|---|---|---|
| PHP 8.2 atau lebih baru | Menjalankan Laravel dan perintah artisan | Wajib |
| Composer | Mengunduh Laravel dan semua dependensinya | Wajib |
| MySQL atau MariaDB | Database aplikasi (bisa diganti SQLite) | Opsional |
| Node.js dan npm | Membangun aset frontend dengan Vite | Wajib jika memakai starter kit |
| Git | Version control, dipakai juga oleh sebagian alat | Disarankan |
Untuk menyediakan PHP dan MySQL sekaligus di Windows, dua pilihan paling populer adalah XAMPP dan Laragon. Keduanya bisa dipakai. Pilih satu saja agar tidak terjadi bentrok port dan bentrok PATH.
Langkah 1: Siapkan PHP lewat XAMPP atau Laragon
Opsi A: Memakai XAMPP
Unduh XAMPP dari situs resmi Apache Friends dan pilih paket yang membawa PHP 8.2 atau lebih baru. Nomor versi XAMPP mengikuti versi PHP di dalamnya, jadi paket berlabel 8.2.x berisi PHP 8.2. Instal di lokasi default, yaitu C:\xampp, agar path di tutorial ini sama dengan komputer Anda.
Setelah terpasang, PHP berada di folder C:\xampp\php. Buka Command Prompt dan cek versinya langsung dari folder itu:
C:\xampp\php\php.exe -v
Jika baris pertama menampilkan PHP 8.2 atau lebih tinggi, Anda siap lanjut. Jika masih 8.1 ke bawah, instal versi XAMPP yang lebih baru. Sebelum menghapus XAMPP lama, pastikan database di dalamnya sudah di-backup.
Opsi B: Memakai Laragon
Laragon lebih praktis untuk Laravel karena otomatis membuat domain lokal seperti nama-project.test untuk setiap folder di C:\laragon\www. Laragon juga punya terminal sendiri (tombol Terminal) yang PATH-nya sudah berisi PHP, Composer, dan Node.js bawaan Laragon.
Yang perlu diperhatikan, versi Laragon yang lebih lama membawa PHP di bawah 8.2. Cek dengan klik kanan ikon Laragon, lalu buka menu PHP > Version. Kalau belum ada versi 8.2 ke atas, tambahkan sendiri:
- Unduh PHP untuk Windows dari
windows.php.net, pilih versi Thread Safe berformat ZIP yang sesuai arsitektur komputer (x64). - Ekstrak ke folder baru di dalam
C:\laragon\bin\php, misalnyaC:\laragon\bin\php\php-8.3. - Klik kanan ikon Laragon, pilih PHP > Version, lalu pilih versi yang baru ditambahkan.
- Klik Stop lalu Start All agar perubahan diterapkan.
Langkah 2: Aktifkan ekstensi PHP di php.ini
Laravel dan Composer membutuhkan sejumlah ekstensi PHP. Sebagian sudah terpasang bawaan di PHP untuk Windows, tetapi sebagian lain harus diaktifkan manual di file php.ini. Ekstensi yang paling sering belum aktif adalah zip, dan inilah penyebab utama Composer gagal mengunduh paket.
Lokasi php.ini:
- XAMPP:
C:\xampp\php\php.ini, atau lewat XAMPP Control Panel, baris Apache, tombol Config laluPHP (php.ini). - Laragon: klik kanan ikon Laragon, pilih PHP > php.ini. Laragon juga menyediakan menu PHP > Extensions untuk mencentang ekstensi tanpa mengedit file.
Buka file tersebut dengan editor teks, cari baris-baris berikut, lalu hapus tanda titik koma (;) di depannya. Titik koma berarti baris itu masih dinonaktifkan.
extension=curl
extension=fileinfo
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=zip
Jika Anda menemukan baris ;extension=zip, ubah menjadi extension=zip. Lakukan hal yang sama untuk ekstensi lain di daftar. Kalau Anda berencana mengolah gambar, aktifkan juga extension=gd. Simpan file, lalu restart Apache (atau Laragon) dan tutup semua jendela terminal yang sedang terbuka.
Untuk memastikan ekstensi sudah aktif, jalankan:
php -m
Perintah ini menampilkan daftar modul PHP yang aktif. Pastikan zip, fileinfo, openssl, pdo_mysql, dan mbstring muncul di daftar. Perlu diingat, terminal memakai php.ini milik PHP yang ada di PATH. Jika Anda punya lebih dari satu instalasi PHP, cek file yang benar-benar dipakai dengan php --ini.
Langkah 3: Install Composer di Windows
Composer adalah pengelola paket PHP yang dipakai untuk mengunduh Laravel. Pengguna Laragon biasanya sudah mendapat Composer bawaan, jadi cukup cek dengan composer -V di terminal Laragon. Pengguna XAMPP perlu menginstalnya sendiri.
- Buka
getcomposer.org, masuk ke halaman Download, lalu unduh Composer-Setup.exe. - Jalankan installer. Saat diminta memilih PHP, arahkan ke
C:\xampp\php\php.exe. - Biarkan opsi untuk menambahkan PHP ke PATH tetap tercentang. Installer akan menambahkan folder PHP dan folder Composer ke PATH secara otomatis.
- Lewati pengaturan proxy jika Anda tidak memakainya, lalu selesaikan instalasi.
Setelah selesai, tutup lalu buka lagi Command Prompt. Terminal yang sudah terbuka sebelum instalasi tidak membaca PATH yang baru. Kemudian jalankan:
php -v
composer -V
Keduanya harus menampilkan nomor versi. Jika php -v menampilkan versi yang berbeda dari yang Anda harapkan, berarti ada PHP lain yang lebih dulu tercantum di PATH. Bahasan lebih lengkap soal perintah-perintah Composer ada di artikel cara menggunakan Composer untuk package PHP.
Mengecek dan mengatur PATH secara manual
Kalau perintah php masih tidak dikenali, tambahkan folder PHP ke PATH secara manual:
- Tekan Win, ketik environment variables, lalu pilih Edit the system environment variables.
- Klik tombol Environment Variables.
- Pada bagian User variables, pilih
Path, klik Edit, lalu New. - Tambahkan
C:\xampp\php. Untuk installer Laravel, pastikan juga ada%USERPROFILE%\AppData\Roaming\Composer\vendor\bin. - Klik OK di semua jendela, lalu buka terminal baru.
Anda bisa mengecek lokasi PHP yang sedang dipakai terminal dengan perintah where php. Jika muncul lebih dari satu baris, yang paling atas adalah yang dipakai.
Langkah 4: Membuat project Laravel 12
Ada dua cara membuat project baru. Hasil akhirnya sama-sama aplikasi Laravel. Bedanya, installer laravel new bersifat interaktif dan menawarkan starter kit, sedangkan composer create-project langsung memasang kerangka Laravel polos.
Tentukan dulu folder kerja. Pengguna XAMPP bisa memakai folder apa saja, misalnya C:\projects, karena nanti aplikasi dijalankan dengan php artisan serve. Pengguna Laragon sebaiknya memakai C:\laragon\www agar domain .test dibuat otomatis.
Cara 1: Memakai installer laravel new
Pasang installer Laravel secara global sekali saja:
composer global require laravel/installer
Setelah itu buat project baru:
cd C:\projects
laravel new toko-online
Installer akan mengajukan beberapa pertanyaan. Di Laravel 12, Anda akan diminta memilih starter kit: None untuk kerangka polos, atau starter kit React, Vue, maupun Livewire yang sudah dilengkapi halaman login dan register. Berikutnya Anda ditanya database yang ingin dipakai. Pilih MySQL jika ingin langsung memakai MySQL dari XAMPP, atau biarkan SQLite untuk mencoba cepat. Terakhir, installer bisa menawarkan untuk menjalankan npm install dan build aset.
Jika muncul pesan bahwa perintah laravel tidak dikenali, folder vendor\bin milik Composer global belum masuk PATH. Lihat bagian PATH di atas.
Cara 2: Memakai composer create-project
Cara ini tidak memerlukan installer tambahan. Untuk memastikan yang terpasang adalah seri 12, sertakan batasan versinya:
cd C:\projects
composer create-project laravel/laravel:^12.0 toko-online
Tanpa :^12.0, Composer memasang versi Laravel terbaru yang cocok dengan versi PHP Anda, yang belum tentu seri 12. Proses ini mengunduh cukup banyak paket, jadi waktunya bergantung pada kecepatan internet.
Setelah selesai, Composer otomatis menyalin .env.example menjadi .env dan membuat APP_KEY. Pada konfigurasi bawaan Laravel 12, project juga langsung memakai SQLite dan menjalankan migrasi awal ke file database\database.sqlite. Jika kelak APP_KEY di .env kosong, misalnya setelah project di-clone dari repository, buat ulang dengan php artisan key:generate.
Langkah 5: Hubungkan ke database MySQL XAMPP
Jika Anda ingin memakai MySQL alih-alih SQLite, nyalakan dulu MySQL di XAMPP Control Panel dengan menekan tombol Start pada baris MySQL. Lalu buka file .env di folder project. Pada Laravel 12 bawaan, bagian database terlihat seperti ini:
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
Ubah DB_CONNECTION menjadi mysql dan hapus tanda # di depan baris lainnya. XAMPP memakai user root tanpa password secara default, sehingga konfigurasinya menjadi:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=toko_online
DB_USERNAME=root
DB_PASSWORD=
Jika Anda pernah mengganti port MySQL XAMPP, misalnya ke 3307, sesuaikan nilai DB_PORT. Begitu juga jika Anda sudah memberi password pada user root. Database toko_online bisa dibuat lebih dulu lewat phpMyAdmin di http://localhost/phpmyadmin, atau dibiarkan saja karena langkah berikutnya bisa membuatnya.
Berlangganan gratis. Artikel & tutorial coding terbaru langsung ke email kamu. Tanpa spam.
Langkah 6: Jalankan migrasi
Migrasi membuat tabel-tabel bawaan Laravel, seperti users, cache, dan jobs. Dari folder project, jalankan:
cd toko-online
php artisan migrate
Jika database toko_online belum ada, Laravel akan bertanya apakah Anda ingin membuatnya. Jawab yes, dan database akan dibuat lalu tabel-tabelnya diisi. Jika yang muncul justru pesan SQLSTATE[HY000] [2002], biasanya MySQL belum berjalan atau port-nya salah. Panduan lengkapnya ada di artikel SQLSTATE[HY000] [2002] Connection Refused Laravel.
Setelah mengubah isi .env, ada baiknya juga menjalankan php artisan config:clear. Perintah ini memastikan Laravel tidak memakai konfigurasi lama yang sempat di-cache.
Langkah 7: Jalankan aplikasi dengan php artisan serve
Untuk menjalankan aplikasi di server pengembangan bawaan Laravel:
php artisan serve
Terminal akan menampilkan alamat http://127.0.0.1:8000. Buka alamat itu di browser, dan Anda akan melihat halaman sambutan Laravel. Biarkan jendela terminal tetap terbuka selama Anda bekerja. Menutupnya berarti mematikan server. Untuk menghentikan server secara normal, tekan Ctrl + C.
Pengguna Laragon juga bisa melewati langkah ini. Selama project berada di C:\laragon\www dan Laragon sudah di-restart, aplikasi bisa dibuka lewat http://toko-online.test.
Jika memakai starter kit: npm install dan npm run dev
Starter kit React, Vue, dan Livewire memakai Vite untuk mengolah CSS dan JavaScript. Pastikan Node.js sudah terpasang (cek dengan node -v dan npm -v), lalu dari folder project jalankan:
npm install
npm run dev
npm run dev menjalankan server Vite yang memantau perubahan file. Jalankan di jendela terminal kedua, sementara php artisan serve tetap berjalan di terminal pertama. Jika Anda tidak ingin menjalankan Vite terus-menerus, gunakan npm run build untuk membuat aset sekali jadi. Lupa menjalankan salah satu dari dua perintah ini adalah penyebab umum error Vite manifest not found.
Error umum saat install Laravel di Windows
'php' is not recognized as an internal or external command
Windows tidak menemukan php.exe karena foldernya belum ada di PATH. Tambahkan C:\xampp\php (atau folder PHP Laragon yang aktif) ke PATH seperti di Langkah 3, lalu buka terminal baru. Pesan yang sama untuk composer atau laravel punya penyebab serupa, hanya foldernya yang berbeda.
Ekstensi zip belum aktif
Saat menjalankan composer create-project, Anda mungkin melihat pesan yang menyebut bahwa ekstensi zip serta perintah unzip/7z tidak ditemukan, lalu proses unduh paket gagal. Solusinya adalah mengaktifkan extension=zip di php.ini seperti di Langkah 2. Hapus folder project yang setengah jadi, lalu ulangi perintah pembuatan project.
Versi PHP tidak memenuhi syarat
Pesan dari Composer yang menyebut bahwa paket membutuhkan php ^8.2 sementara versi Anda lebih rendah berarti PHP di PATH belum 8.2. Cek dengan php -v dan where php. Sering kali masalahnya adalah ada PHP lama lain yang tercantum lebih atas di PATH.
Composer timeout atau kehabisan memori
Di koneksi lambat, Composer bisa berhenti karena melewati batas waktu proses. Naikkan batasnya dengan:
composer config --global process-timeout 600
Jika muncul pesan Allowed memory size of ... bytes exhausted, jalankan Composer tanpa batas memori untuk sesi terminal itu:
set COMPOSER_MEMORY_LIMIT=-1
composer create-project laravel/laravel:^12.0 toko-online
Perintah set di atas hanya berlaku di Command Prompt. Di PowerShell, gunakan $env:COMPOSER_MEMORY_LIMIT="-1".
Port 8000 sudah dipakai
Jika port 8000 sudah dipakai aplikasi lain, versi Laravel terbaru biasanya otomatis mencoba port berikutnya, seperti 8001. Anda juga bisa menentukan port sendiri:
php artisan serve --port=8080
Untuk mencari tahu program apa yang memakai port 8000, jalankan netstat -ano | findstr :8000, lalu cocokkan PID di kolom terakhir dengan daftar proses di Task Manager.
Antivirus memperlambat atau memblokir instalasi
Proses instalasi Laravel menulis ribuan file kecil ke folder vendor dan node_modules. Pada sebagian komputer, pemindaian antivirus membuat proses ini sangat lambat atau bahkan gagal karena file sedang dikunci. Jika Anda yakin sumbernya aman, Anda bisa mengecualikan folder kerja project dari pemindaian real-time.
Langkah selanjutnya setelah Laravel terpasang
Setelah halaman sambutan muncul, instalasi Anda sudah selesai. Beberapa kebiasaan baik yang perlu dibangun sejak awal:
- Jangan pernah mengunggah file
.envke repository publik. File ini sudah tercantum di.gitignorebawaan Laravel. - Jalankan
git initdi folder project dan buat commit pertama, agar setiap perubahan bisa dilacak. - Pelajari struktur folder utama:
routesuntuk rute,app\Http\Controllersuntuk controller,resources\viewsuntuk tampilan, dandatabase\migrationsuntuk struktur tabel. - Gunakan
php artisan listuntuk melihat semua perintah artisan yang tersedia.
FAQ
Lebih baik pakai XAMPP atau Laragon untuk Laravel 12?
Keduanya bisa. Laragon lebih praktis karena domain .test dibuat otomatis dan terminalnya sudah berisi PHP, Composer, dan Node.js. XAMPP cocok jika Anda sudah terbiasa memakainya dan tidak ingin pindah. Yang penting, versi PHP-nya minimal 8.2.
Apa beda laravel new dan composer create-project?
laravel new adalah installer interaktif yang menawarkan pilihan starter kit, database, dan instalasi npm. composer create-project memasang kerangka Laravel polos tanpa pertanyaan. Untuk belajar dasar, keduanya sama baiknya.
Apakah wajib menginstal Node.js?
Tidak, jika Anda membuat project tanpa starter kit dan belum memakai Vite. Node.js menjadi wajib saat Anda memakai starter kit React, Vue, atau Livewire, atau saat view Anda memuat aset lewat direktif @vite.
Kenapa Laravel 12 memakai SQLite padahal saya pakai XAMPP?
Sejak Laravel 11, konfigurasi bawaan memakai SQLite agar project bisa langsung berjalan tanpa server database. Untuk memakai MySQL, ubah DB_CONNECTION dan isian database lainnya di .env, lalu jalankan php artisan migrate.
Apakah Apache XAMPP harus dinyalakan?
Tidak, jika Anda menjalankan aplikasi dengan php artisan serve. Yang perlu menyala hanya MySQL. Apache baru dibutuhkan jika Anda ingin membuka phpMyAdmin atau melayani project lewat localhost.