Category: Laravel

  • Laravel 12: Cara Install, Versi PHP, dan Starter Kit untuk Pemula

    Laravel 12: Cara Install, Versi PHP, dan Starter Kit untuk Pemula

    Laravel 12 adalah versi framework PHP Laravel yang rilis 24 Februari 2025. Versi ini butuh PHP 8.2 sampai 8.5, dan cara paling aman untuk memasangnya adalah composer create-project laravel/laravel:^12.0 nama-project. Panduan ini membahas persyaratan, dua cara install (Laravel installer dan Composer), starter kit React, Vue, Svelte, dan Livewire, struktur folder, error yang paling sering muncul di Windows dan Linux, sampai langkah setelah project jalan. Semua perintah sudah kami uji di project Laravel 12 sungguhan, bukan sekadar disalin dari dokumentasi.

    Satu hal penting sebelum mulai: per Oktober 2026, Laravel 13 sudah rilis (Maret 2026). Artinya perintah laravel new sekarang bisa memasang Laravel 13, bukan 12. Kalau kamu memang butuh Laravel 12, misalnya karena server kantor masih PHP 8.2 atau mengikuti kursus yang memakai versi 12, ikuti bagian Composer di bawah.

    Laravel 12 Sekilas: Versi PHP, Masa Dukungan, dan Apa yang Baru

    Data di tabel ini diambil dari halaman release notes resmi Laravel 12.

    Versi PHP yang didukung Rilis Perbaikan bug sampai Perbaikan keamanan sampai
    Laravel 11 8.2 – 8.4 12 Maret 2024 3 September 2025 12 Maret 2026
    Laravel 12 8.2 – 8.5 24 Februari 2025 13 Agustus 2026 24 Februari 2027
    Laravel 13 8.3 – 8.5 Q1 2026 (Maret 2026) Q3 2027 Q1 2028

    Dari tabel itu ada dua kesimpulan praktis. Pertama, Laravel 12 sekarang hanya menerima perbaikan keamanan, sampai 24 Februari 2027. Untuk project baru yang akan hidup lama, Laravel 13 lebih masuk akal. Kedua, Laravel 12 masih pilihan yang wajar kalau server kamu belum bisa PHP 8.3, karena Laravel 13 minimal PHP 8.3.

    Apa yang baru di Laravel 12? Tim Laravel sendiri menyebutnya rilis “maintenance”: fokusnya memperbarui dependency dan meminimalkan breaking change, sehingga kebanyakan aplikasi Laravel 11 bisa naik ke 12 tanpa mengubah kode. Perubahan yang paling terasa adalah starter kit baru untuk React, Svelte, Vue, dan Livewire. Laravel Breeze dan Jetstream tidak lagi mendapat pembaruan.

    Persyaratan Sebelum Install Laravel 12

    • PHP 8.2 atau lebih baru (maksimal 8.5 untuk Laravel 12).
    • Ekstensi PHP: Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, dan XML. Daftar ini dari dokumentasi deployment resmi. Untuk database bawaan (SQLite) kamu juga perlu pdo_sqlite, dan untuk MySQL perlu pdo_mysql.
    • Composer versi 2.
    • Node.js dan npm (atau Bun) untuk membangun aset frontend dengan Vite.
    • Database opsional. Laravel 12 memakai SQLite secara bawaan, jadi kamu bisa mulai tanpa memasang MySQL.

    Cek versi yang terpasang:

    php -v
    composer -V
    node -v
    php -m

    Perintah php -m menampilkan semua ekstensi yang aktif. Kalau ada yang belum muncul, aktifkan di php.ini (lihat bagian error di bawah).

    Belum punya PHP sama sekali? Dokumentasi Laravel menyediakan skrip php.new yang memasang PHP, Composer, dan Laravel installer sekaligus:

    # Linux
    /bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
    
    # macOS
    /bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"

    Untuk Windows, jalankan PowerShell sebagai administrator lalu salin perintah dari halaman instalasi resmi. Alternatifnya, pakai Laravel Herd (Windows dan macOS) yang sudah berisi PHP, Composer, dan Nginx. Tutup lalu buka lagi terminal setelah instalasi.

    Cara Install Laravel 12 via Composer (Versi Terkunci di 12)

    Ini cara yang kami sarankan kalau tujuanmu khusus Laravel 12. Constraint ^12.0 memastikan Composer tidak mengambil Laravel 13.

    composer create-project laravel/laravel:^12.0 toko-online
    cd toko-online
    php artisan --version

    Hasil perintah terakhir akan berbunyi Laravel Framework 12.x.x. Saat kami menguji panduan ini pada Oktober 2026, versinya 12.70.0.

    Composer tidak hanya mengunduh file. Skrip bawaan skeleton Laravel 12 otomatis menjalankan beberapa hal setelah project dibuat:

    1. Menyalin .env.example menjadi .env.
    2. Menjalankan php artisan key:generate untuk mengisi APP_KEY.
    3. Membuat file database/database.sqlite.
    4. Menjalankan migration bawaan (tabel users, cache, dan jobs).

    Jadi kamu tidak perlu menjalankan key:generate manual seperti di tutorial lama, kecuali file .env kamu salin sendiri dari tempat lain.

    Langkah berikutnya, pasang dependency frontend lalu jalankan server:

    npm install
    npm run build
    composer run dev

    composer run dev menjalankan empat proses sekaligus: php artisan serve, queue worker, log viewer (Pail), dan Vite. Buka http://localhost:8000 dan halaman welcome Laravel akan muncul. Kalau kamu hanya ingin server PHP saja, php artisan serve juga cukup.

    Cara Install Laravel lewat Laravel Installer

    Laravel installer adalah perintah laravel di terminal. Pasang sekali secara global:

    composer global require laravel/installer
    laravel new toko-online

    Installer akan bertanya starter kit (tanpa starter kit, React, Svelte, Vue, atau Livewire), framework testing (Pest atau PHPUnit), dan database. Kalau sudah tahu pilihannya, kamu bisa memberi flag langsung, misalnya:

    laravel new toko-online --livewire --pest --database=mysql

    Perlu diingat: installer tidak punya opsi untuk memilih versi Laravel. Ia selalu memakai rilis terbaru laravel/laravel yang cocok dengan PHP kamu. Di PHP 8.3 ke atas hasilnya Laravel 13. Di PHP 8.2, Composer melewati Laravel 13 dan memasang Laravel 12 (kami cek langsung: pesan yang muncul Cannot use laravel/laravel's latest version v13.11.0 as it requires php ^8.3). Starter kit resmi versi terbaru juga sudah membutuhkan Laravel 13 dengan PHP 8.3. Flag seperti --using=laravel/12.x yang beredar di beberapa tutorial juga keliru. Opsi --using sebenarnya dipakai untuk memasang starter kit komunitas dari paket Composer, bukan untuk memilih versi. Kalau harus Laravel 12, kembali ke cara Composer di atas.

    Starter Kit Laravel 12: React, Vue, Svelte, dan Livewire

    Starter kit adalah kerangka aplikasi lengkap dengan login, registrasi, reset password, verifikasi email, dan halaman pengaturan profil. Semua kodenya masuk ke project kamu, jadi bebas diubah.

    Starter kit Teknologi Cocok untuk
    React Inertia 2, React 19, TypeScript, Tailwind, shadcn/ui Tim yang sudah terbiasa React dan ingin terasa seperti SPA
    Vue Inertia, Vue Composition API, TypeScript, Tailwind, shadcn-vue Tim Vue
    Svelte Inertia, Svelte 5, TypeScript, Tailwind, shadcn-svelte Tim Svelte
    Livewire Livewire, Tailwind, Flux UI Developer yang ingin UI interaktif cukup dengan PHP dan Blade

    Setiap starter kit juga punya varian WorkOS AuthKit untuk login sosial, passkey, dan SSO. Saat Laravel 12 rilis, starter kit Livewire memakai Laravel Volt untuk halaman-halamannya. Versi terbaru sudah beralih ke Livewire 4.

    Bagaimana kalau kamu butuh starter kit tetapi harus tetap di Laravel 12? Rilis awal starter kit (versi 1.0.x, Februari 2025) masih menargetkan Laravel 12 dan bisa dipasang lewat Composer:

    composer create-project laravel/livewire-starter-kit:^1.0 toko-online
    # atau
    composer create-project laravel/react-starter-kit:^1.0 toko-online
    composer create-project laravel/vue-starter-kit:^1.0 toko-online

    Kami sudah menguji varian Livewire: hasilnya Laravel 12 dengan Volt dan Flux, halaman login dan registrasi langsung jalan. Kekurangannya, kode starter kit versi ini adalah titik awal Februari 2025, jadi perbaikan yang masuk ke starter kit setelahnya tidak ikut. Starter kit Svelte tidak punya rilis bertag, jadi tidak bisa dikunci dengan cara ini.

    Mengatur Database: SQLite Bawaan atau MySQL

    File .env bawaan Laravel 12 berisi DB_CONNECTION=sqlite. Untuk belajar, ini sudah cukup. Kalau ingin MySQL atau MariaDB, buat database-nya dulu, lalu ubah bagian ini di .env:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=toko_online
    DB_USERNAME=root
    DB_PASSWORD=

    Baris DB_HOST sampai DB_PASSWORD di file bawaan diberi tanda # di depannya. Hapus tanda itu, karena baris yang masih dikomentari tidak dibaca. Setelah itu jalankan:

    php artisan migrate

    Jangan pernah memasukkan file .env ke Git. File ini berisi password database dan kunci aplikasi.

    Struktur Folder Project Laravel 12

    Struktur Laravel 12 lebih ramping dibanding Laravel 10 ke bawah. Banyak tutorial lama masih menyebut app/Http/Kernel.php, folder app/Http/Middleware, dan routes/api.php. Di skeleton Laravel 12, ketiganya tidak ada secara bawaan.

    app/
      Http/Controllers/Controller.php   # base controller (kosong)
      Models/User.php
      Providers/AppServiceProvider.php
    bootstrap/
      app.php         # pengganti Kernel: routing, middleware, exception
      providers.php   # daftar service provider
    config/
    database/
      migrations/  factories/  seeders/
    public/           # document root web server
    resources/
      css/  js/  views/
    routes/
      web.php
      console.php     # command dan jadwal (scheduler)
    storage/          # log, cache, file upload
    tests/

    Middleware sekarang didaftarkan di bootstrap/app.php. Kalau kamu butuh route API, jalankan php artisan install:api. Perintah ini membuat routes/api.php, memasang Laravel Sanctum, dan mendaftarkan file route tersebut.

    Error yang Sering Muncul Saat Install Laravel 12

    Di Windows

    • 'composer' is not recognized atau 'laravel' is not recognized. Folder Composer belum masuk PATH. Untuk perintah laravel, tambahkan folder hasil composer global config bin-dir --absolute ke PATH (biasanya %APPDATA%\Composer\vendor\bin), lalu buka terminal baru.
    • Your requirements could not be resolved … requires php ^8.2. PHP yang terbaca di terminal masih versi lama, sering terjadi pada XAMPP lama. Cek php -v dan where php untuk melihat PHP mana yang dipakai.
    • could not find driver. Ekstensi pdo_sqlite atau pdo_mysql belum aktif. Buka php.ini (lokasinya terlihat di php --ini), hapus titik koma di depan extension=pdo_sqlite atau extension=pdo_mysql.
    • Composer gagal mengekstrak paket. Aktifkan juga extension=zip dan extension=fileinfo di php.ini.

    Di Linux (Ubuntu/Debian)

    • The stream or file "storage/logs/laravel.log" could not be opened. Folder storage dan bootstrap/cache tidak bisa ditulis oleh web server. Perbaiki dengan sudo chown -R $USER:www-data storage bootstrap/cache lalu chmod -R ug+rwx storage bootstrap/cache.
    • laravel: command not found. Tambahkan folder bin global Composer ke PATH, contohnya export PATH="$(composer global config bin-dir --absolute --quiet):$PATH" di ~/.bashrc.
    • Ekstensi kurang. Di Ubuntu, paket yang biasanya perlu dipasang: php8.3-xml php8.3-mbstring php8.3-curl php8.3-sqlite3 php8.3-mysql php8.3-zip (sesuaikan angka versi PHP kamu).

    Di semua sistem

    • Vite manifest not found. Aset frontend belum dibangun. Jalankan npm install lalu npm run build, atau biarkan npm run dev berjalan.
    • No application encryption key has been specified. Biasanya muncul setelah clone project dari Git. Salin .env.example ke .env, lalu jalankan php artisan key:generate.
    • SQLSTATE[HY000] [1045] Access denied. Username atau password database di .env salah. Setelah mengubah .env, jalankan php artisan config:clear kalau sebelumnya pernah config:cache.

    Langkah Setelah Laravel 12 Terinstall

    1. Pahami cara kerja URL dan database. Baca routing Laravel, migration Laravel, dan daftar perintah PHP Artisan yang paling sering dipakai.
    2. Buat route dan controller pertama. Ikuti panduan membuat controller di Laravel 12, mulai dari controller biasa sampai resource dan API controller.
    3. Kenali controller satu aksi. Untuk aksi tunggal seperti ekspor data, pelajari invokable controller.
    4. Kalau memilih Livewire, baca dulu apa itu Laravel Volt dan cara memasangnya, termasuk statusnya di Livewire 4.
    5. Lanjut ke fitur menengah seperti Policy dan Gate untuk hak akses, notification, dan job batching.
    6. Semua materi kami kumpulkan di halaman tutorial Laravel, berurutan dari dasar.

    Masih memakai Laravel 11 di project lama? Panduannya ada di cara install Laravel 11.

    Pertanyaan yang Sering Diajukan

    Laravel 12 butuh PHP versi berapa?

    Minimal PHP 8.2, dan resmi didukung sampai PHP 8.5. Laravel 13 sudah butuh minimal PHP 8.3, jadi Laravel 12 adalah versi terbaru yang masih jalan di PHP 8.2.

    Kenapa laravel new memasang Laravel 13, bukan 12?

    Laravel installer selalu mengambil rilis terbaru yang cocok dengan PHP kamu, dan tidak punya opsi pilih versi. Pakai composer create-project laravel/laravel:^12.0 nama-project untuk mengunci di Laravel 12.

    Apakah Laravel 12 masih layak dipakai untuk project baru?

    Masih bisa, tetapi pertimbangkan masa dukungannya. Perbaikan bug sudah berhenti pada 13 Agustus 2026, dan perbaikan keamanan berakhir 24 Februari 2027. Untuk aplikasi yang akan dipakai bertahun-tahun, mulai di Laravel 13 lebih hemat karena tidak perlu upgrade dalam waktu dekat.

    Apakah Laravel Breeze masih bisa dipakai di Laravel 12?

    Breeze tidak lagi mendapat pembaruan sejak starter kit baru diperkenalkan di Laravel 12. Untuk project baru, pakai starter kit React, Vue, Svelte, atau Livewire.

    Apa beda php artisan serve dan composer run dev?

    php artisan serve hanya menjalankan server PHP. composer run dev menjalankan server, queue worker, log viewer, dan Vite sekaligus dalam satu terminal.

    Sedang membangun aplikasi bisnis dengan Laravel dan butuh tim yang mengerjakan dari analisis sampai server production? Tim Arrazy Inovasi di Purwokerto mengerjakan pembuatan sistem aplikasi custom, termasuk dengan stack Laravel.

    Diskusikan project Laravel kamu →

  • Cara Install Laravel 11 untuk Pemula: Composer, Setup & Error Umum

    Cara Install Laravel 11 untuk Pemula: Composer, Setup & Error Umum

    Cara install Laravel 11 termasuk topik yang paling banyak dicari oleh developer PHP yang baru mulai belajar framework modern. Laravel 11, yang dirilis resmi pada Maret 2024, membawa beberapa perubahan struktural signifikan dibanding versi sebelumnya — terutama penghapusan beberapa file konfigurasi default dan penyederhanaan direktori app/. Panduan ini dirancang khusus untuk pemula yang baru pertama kali menginstal Laravel, maupun developer berpengalaman yang ingin memahami apa yang berubah dari Laravel 10 ke Laravel 11.

    Sebelum mulai, pastikan Anda sudah memiliki PHP 8.2+ dan Composer terinstal. Jika belum, panduan ini juga mencakup langkah persiapan tersebut.

    Kebutuhan Sistem untuk Laravel 11

    Sebelum mulai, pastikan lingkungan development Anda memenuhi persyaratan minimum. Minimal PHP 8.1 ke atas diperlukan untuk menjalankan Laravel 11, disertai ekstensi PHP yang umum seperti OpenSSL, PDO, BCMath, JSON, dan mbstring. Sistem operasi bisa Linux, macOS, atau Windows (melalui WSL jika Anda menggunakan Windows). Selain itu, pastikan Anda memiliki akses internet stabil karena proses instalasi akan mengambil dependensi lewat Composer. Untuk referensi resmi tentang kebutuhan lingkungan, baca Dokumentasi Resmi Laravel 11.

    Perangkat Lunak yang Diperlukan

    Langkah berikutnya adalah memastikan Composer terinstal dengan benar, karena Laravel 11 dibangun di atas ekosistem PHP yang memanfaatkan Composer untuk manajemen dependensi. Selain itu, Node.js direkomendasikan jika Anda ingin mengelola assets front-end dengan alat seperti Vite.

    Cara Install Laravel 11

    1. Install PHP dan Ekstensi yang Diperlukan

    Pastikan PHP telah terpasang pada sistem Anda. Anda bisa memeriksa versi PHP dengan perintah berikut:

    php -v

    Pastikan setidaknya PHP 8.1 terpasang. Jika belum, instal versi terbaru sesuai sistem operasi Anda dan pastikan ekstensi penting seperti OpenSSL, PDO, dan mbstring telah aktif di php.ini.

    2. Install Composer

    Composer adalah package manager PHP yang wajib ada sebelum menginstal Laravel. Download dan install dari getcomposer.org, lalu verifikasi dengan:

    composer --version

    3. Buat Project Laravel 11 via Composer

    Setelah PHP dan Composer siap, jalankan perintah berikut untuk membuat project Laravel 11 baru:

    composer create-project --prefer-dist laravel/laravel nama-project "11.*"

    Atau, jika ingin menggunakan Laravel installer:

    composer global require laravel/installer
    laravel new nama-project

    Proses ini akan mengunduh Laravel 11 beserta semua dependensinya. Tunggu hingga selesai.

    4. Generate Application Key

    Masuk ke direktori project dan generate APP_KEY:

    cd nama-project
    php artisan key:generate

    Apa yang Berubah di Laravel 11 Dibanding Laravel 10

    Laravel 11 membawa perubahan struktural yang cukup signifikan:

    • Direktori app/ lebih ramping — banyak file provider dan middleware yang sebelumnya ada di sini dipindahkan atau dihapus
    • Tidak ada app/Http/Kernel.php — middleware sekarang di-register via bootstrap/app.php
    • Service Provider lebih sedikit — hanya AppServiceProvider yang tersisa secara default
    • File konfigurasi banyak dihilangkan dari root — dipindahkan ke dalam framework itu sendiri
    • Dukungan SQLite bawaan — database default berubah ke SQLite untuk kemudahan development lokal

    Setup Awal Setelah Instalasi

    Konfigurasi File .env

    Salin file contoh .env untuk membuat konfigurasi lingkungan lokal:

    cp .env.example .env

    Selanjutnya, sesuaikan pengaturan database dan aplikasi Anda. Contoh pengaturan untuk MySQL:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=nama_database
    DB_USERNAME=user_database
    DB_PASSWORD=password_database

    Jalankan Migrasi Database

    php artisan migrate

    Jalankan Development Server

    Untuk melihat proyek Laravel 11 Anda secara langsung, jalankan development server:

    php artisan serve

    Server akan berjalan di http://localhost:8000. Buka di browser untuk memastikan instalasi berhasil.

    Upgrade ke Laravel 12?

    Jika Anda sudah menguasai Laravel 11 dan ingin bermigrasi ke Laravel 12, prosesnya relatif mulus karena kedua versi berbagi arsitektur yang sama. Baca panduan resmi di Laravel Upgrade Guide untuk langkah-langkah detail.

    Troubleshooting: Error Umum Saat Install Laravel 11

    Error: PHP version mismatch

    Jika muncul error “Your PHP version does not satisfy the requirements”, pastikan PHP Anda minimal versi 8.1. Cek dengan php -v dan upgrade jika perlu.

    Error: php artisan not found / command not found

    Pastikan Anda sudah masuk ke direktori project (cd nama-project) sebelum menjalankan perintah php artisan.

    Error: Composer require timeout

    Jika proses composer create-project gagal karena timeout, coba tambahkan flag --prefer-dist atau gunakan mirror Packagist yang lebih dekat. Anda juga bisa meningkatkan timeout Composer:

    composer config --global process-timeout 600

    Error: 500 Internal Server Error setelah install

    Kemungkinan penyebab: file .env belum di-copy dari .env.example, atau APP_KEY belum di-generate. Jalankan:

    cp .env.example .env
    php artisan key:generate

    Error: Permission denied pada folder storage

    Laravel membutuhkan akses tulis pada folder storage/ dan bootstrap/cache/. Jalankan:

    chmod -R 775 storage bootstrap/cache

    FAQ: Pertanyaan Umum tentang Instalasi Laravel 11

    Apakah Laravel 11 bisa diinstall di Windows?

    Bisa, tapi direkomendasikan menggunakan WSL (Windows Subsystem for Linux) untuk pengalaman development yang lebih mulus. Anda bisa menggunakan XAMPP atau Laragon sebagai alternatif jika tidak ingin menggunakan WSL.

    Apa perbedaan composer create-project dan Laravel installer?

    composer create-project mengunduh Laravel langsung dari Packagist — cocok untuk semua lingkungan. Laravel installer (laravel new) adalah shortcut resmi yang lebih cepat dan mendukung opsi starter kits. Keduanya menghasilkan project yang identik.

    Bagaimana cara download Laravel 11 tanpa Composer?

    Composer adalah cara resmi dan yang direkomendasikan. Jika tidak memiliki Composer, Anda bisa mengunduh zip source dari GitHub Laravel Releases, tapi Anda tetap perlu menjalankan composer install setelahnya untuk mengunduh dependensinya.

    Berapa besar ukuran project Laravel 11 setelah install?

    Project dasar Laravel 11 setelah composer install biasanya berukuran sekitar 30–50MB termasuk folder vendor/. Tanpa folder vendor (untuk deploy via Composer), ukurannya jauh lebih kecil.

    Apakah Laravel 11 membutuhkan Node.js?

    Node.js tidak wajib untuk menjalankan Laravel, tapi dibutuhkan jika Anda ingin menggunakan Vite untuk kompilasi asset frontend. Untuk aplikasi tanpa frontend build process, Node.js bisa diabaikan.

    Ingin Langsung Membangun Aplikasi Web?

    Memahami cara install Laravel 11 adalah langkah awal yang baik. Tapi membangun aplikasi web yang siap dipakai di production — lengkap dengan database, autentikasi, dashboard, dan deployment — membutuhkan pengalaman lebih. Jika Anda memiliki ide aplikasi atau website yang ingin diwujudkan, tim Arrazy Inovasi siap membantu membangun website profesional yang terstruktur dan scalable.

    Konsultasikan kebutuhan Anda terlebih dahulu — tidak ada biaya untuk diskusi awal. Hubungi kami di sini.