DEV Community

Cover image for Instalasi Composer di Windows, macOS, dan Linux: Panduan Lengkap dari Nol
ahmadasroni38
ahmadasroni38

Posted on AI-assisted

Instalasi Composer di Windows, macOS, dan Linux: Panduan Lengkap dari Nol

Composer adalah dependency manager yang paling banyak digunakan dalam ekosistem PHP. Dengan Composer, kita tidak perlu lagi mengunduh library PHP satu per satu, mencari versi yang kompatibel secara manual, atau menyalin folder library ke dalam proyek.

Composer menangani dependency tersebut melalui satu konfigurasi utama bernama composer.json. Dari file ini, Composer mengetahui library apa yang dibutuhkan proyek, versi yang diizinkan, serta bagaimana dependency tersebut harus dipasang.

Panduan ini membahas instalasi Composer di tiga sistem operasi utama:

  • Windows
  • macOS
  • Linux

Selain instalasi dasar, pembahasan mencakup pengecekan PHP, konfigurasi PATH, penggunaan Composer, pembuatan proyek sederhana, update Composer, troubleshooting, dan beberapa kebiasaan yang sebaiknya diterapkan sejak awal.


1. Apa Itu Composer?

Composer adalah dependency manager untuk PHP.

Sederhananya, bayangkan sebuah aplikasi PHP membutuhkan beberapa library:

Aplikasi PHP
│
├── Library A
├── Library B
├── Library C
└── Library D
Enter fullscreen mode Exit fullscreen mode

Tanpa dependency manager, developer harus:

  1. mencari library,
  2. mengunduhnya,
  3. menentukan versi,
  4. memastikan library tersebut kompatibel,
  5. memasukkannya ke proyek,
  6. mencari dependency tambahan,
  7. dan mengulangi proses tersebut ketika library diperbarui.

Composer mengotomatisasi pekerjaan tersebut.

Dengan Composer, kita cukup mendefinisikan dependency:

{
    "require": {
        "monolog/monolog": "^3.0"
    }
}
Enter fullscreen mode Exit fullscreen mode

Kemudian menjalankan:

composer install
Enter fullscreen mode Exit fullscreen mode

Composer akan membaca konfigurasi tersebut dan memasang dependency yang diperlukan.


2. Mengapa Composer Penting dalam Pengembangan PHP?

Composer bukan sekadar alat untuk mengunduh library.

Composer membantu mengatur dependency sebuah proyek secara terstruktur.

Beberapa manfaat utamanya:

2.1 Dependency management

Composer mengetahui library yang dibutuhkan aplikasi.

Contohnya:

Laravel
├── Symfony
├── Monolog
├── Carbon
├── Guzzle
└── berbagai dependency lainnya
Enter fullscreen mode Exit fullscreen mode

Developer tidak perlu memasang semuanya satu per satu.

2.2 Version management

Composer memungkinkan proyek menentukan versi dependency.

Contohnya:

{
    "require": {
        "monolog/monolog": "^3.0"
    }
}
Enter fullscreen mode Exit fullscreen mode

Artinya proyek mengizinkan versi yang sesuai dengan constraint ^3.0.

2.3 Dependency of dependency

Sebuah library biasanya membutuhkan library lain.

Misalnya:

Project
│
└── Library A
    │
    ├── Library B
    └── Library C
        │
        └── Library D
Enter fullscreen mode Exit fullscreen mode

Composer dapat menyelesaikan dependency tersebut secara otomatis.

2.4 Autoloading

Composer juga menyediakan mekanisme autoloading sehingga class PHP dapat digunakan tanpa melakukan require terhadap setiap file secara manual.

Biasanya aplikasi cukup menjalankan:

require __DIR__ . '/vendor/autoload.php';
Enter fullscreen mode Exit fullscreen mode

Setelah itu class yang didaftarkan melalui Composer dapat digunakan sesuai konfigurasi autoload.


3. Sebelum Menginstal Composer

Composer membutuhkan PHP.

Karena itu, jangan langsung menginstal Composer tanpa memeriksa apakah PHP sudah tersedia.

Buka terminal atau Command Prompt kemudian jalankan:

php -v
Enter fullscreen mode Exit fullscreen mode

Jika PHP sudah tersedia, biasanya akan muncul informasi seperti:

PHP 8.x.x (cli) ...
Enter fullscreen mode Exit fullscreen mode

Versi PHP yang tersedia dapat berbeda tergantung sistem dan environment yang digunakan.

Jika muncul pesan seperti:

'php' is not recognized as an internal or external command
Enter fullscreen mode Exit fullscreen mode

atau:

command not found: php
Enter fullscreen mode Exit fullscreen mode

berarti PHP belum tersedia melalui PATH.


4. Apa Itu PATH?

PATH adalah daftar lokasi yang dicari sistem operasi ketika kita menjalankan sebuah program melalui terminal.

Misalnya kita mengetik:

php
Enter fullscreen mode Exit fullscreen mode

Sistem akan mencari executable PHP pada direktori yang terdapat di PATH.

Hal yang sama berlaku untuk Composer.

Jika Composer sudah terpasang tetapi perintah:

composer
Enter fullscreen mode Exit fullscreen mode

tidak dikenali, salah satu kemungkinan terbesar adalah lokasi executable Composer belum masuk PATH.

Secara sederhana:

Terminal
   │
   │ menjalankan "composer"
   ▼
PATH
   │
   ├── folder PHP
   ├── folder Composer
   └── folder program lainnya
Enter fullscreen mode Exit fullscreen mode

5. Instalasi Composer di Windows

Untuk Windows, tersedia installer Composer yang cukup mudah digunakan.

5.1 Persiapkan PHP

Pastikan PHP dapat dipanggil dari Command Prompt atau PowerShell.

Buka:

Command Prompt
Enter fullscreen mode Exit fullscreen mode

atau:

PowerShell
Enter fullscreen mode Exit fullscreen mode

Kemudian:

php -v
Enter fullscreen mode Exit fullscreen mode

Jika versi PHP muncul, lanjut ke instalasi Composer.

Jika belum, PHP perlu dipasang terlebih dahulu.

PHP dapat berasal dari instalasi PHP mandiri maupun environment seperti XAMPP, Laragon, atau environment development PHP lainnya.

Yang penting, executable PHP harus dapat ditemukan oleh sistem.


5.2 Unduh Composer untuk Windows

Gunakan installer resmi Composer untuk Windows.

Installer biasanya bernama:

Composer-Setup.exe
Enter fullscreen mode Exit fullscreen mode

Jalankan installer tersebut.

Pada proses instalasi, Composer akan meminta lokasi executable PHP.

Contohnya:

C:\php\php.exe
Enter fullscreen mode Exit fullscreen mode

atau apabila menggunakan environment tertentu, lokasi PHP bisa berada di direktori aplikasi environment tersebut.

Pastikan path yang dipilih benar.


5.3 Menentukan PHP yang Digunakan Composer

Installer Composer perlu mengetahui executable PHP.

Jika PHP berada di:

C:\php\php.exe
Enter fullscreen mode Exit fullscreen mode

maka pilih file tersebut.

Setelah itu installer akan melanjutkan proses konfigurasi.

Jika menggunakan XAMPP, lokasi PHP biasanya berada di:

C:\xampp\php\php.exe
Enter fullscreen mode Exit fullscreen mode

Jika menggunakan Laragon, lokasi PHP mengikuti versi PHP yang sedang digunakan oleh Laragon.

Jangan menebak lokasi. Gunakan file php.exe yang benar-benar digunakan environment PHP Anda.


6. Verifikasi Composer di Windows

Setelah instalasi selesai, tutup Command Prompt atau PowerShell yang sebelumnya terbuka.

Kemudian buka terminal baru.

Jalankan:

composer --version
Enter fullscreen mode Exit fullscreen mode

atau:

composer -V
Enter fullscreen mode Exit fullscreen mode

Jika berhasil, Composer akan menampilkan informasi versinya.

Anda juga dapat menjalankan:

composer
Enter fullscreen mode Exit fullscreen mode

untuk melihat daftar command yang tersedia.


7. Jika composer Tidak Dikenali di Windows

Misalnya muncul:

'composer' is not recognized as an internal or external command
Enter fullscreen mode Exit fullscreen mode

Jangan langsung menginstal ulang Composer.

Pertama, tutup terminal kemudian buka kembali.

Alasannya sederhana: perubahan PATH tidak selalu langsung terbaca oleh terminal yang sudah terbuka.

Jika masih bermasalah, periksa PATH.

Di Windows, buka:

System Properties
→ Advanced
→ Environment Variables
Enter fullscreen mode Exit fullscreen mode

Kemudian periksa variabel:

Path
Enter fullscreen mode Exit fullscreen mode

Pastikan lokasi Composer telah tersedia.

Anda juga dapat mencari lokasi Composer menggunakan:

where composer
Enter fullscreen mode Exit fullscreen mode

Jika Composer ditemukan, Windows akan menampilkan lokasi executable terkait.

Untuk PHP:

where php
Enter fullscreen mode Exit fullscreen mode

Ini sangat berguna ketika komputer memiliki beberapa instalasi PHP.


8. Instalasi Composer di macOS

Di macOS, Composer dapat dipasang melalui installer resmi atau package manager seperti Homebrew.

Untuk developer yang menggunakan Homebrew, instalasi biasanya lebih praktis.

8.1 Periksa PHP

Buka Terminal:

php -v
Enter fullscreen mode Exit fullscreen mode

Jika PHP tersedia, lanjutkan.

Jika belum tersedia dan menggunakan Homebrew, PHP dapat dipasang dengan:

brew install php
Enter fullscreen mode Exit fullscreen mode

Setelah selesai:

php -v
Enter fullscreen mode Exit fullscreen mode

9. Instalasi Composer macOS Menggunakan Homebrew

Jika Homebrew sudah tersedia, Composer dapat dipasang dengan:

brew install composer
Enter fullscreen mode Exit fullscreen mode

Setelah proses selesai, cek:

composer --version
Enter fullscreen mode Exit fullscreen mode

Jika versi Composer muncul, instalasi berhasil.

Untuk mengetahui lokasi executable Composer:

which composer
Enter fullscreen mode Exit fullscreen mode

10. Bagaimana Jika Homebrew Belum Terpasang?

Periksa:

brew --version
Enter fullscreen mode Exit fullscreen mode

Jika command tersebut tidak ditemukan, berarti Homebrew belum tersedia.

Homebrew merupakan package manager populer untuk macOS.

Gunakan dokumentasi resmi Homebrew untuk instalasi versi terbaru dan ikuti instruksi sesuai arsitektur Mac yang digunakan.

Setelah Homebrew terpasang:

brew --version
Enter fullscreen mode Exit fullscreen mode

kemudian:

brew install composer
Enter fullscreen mode Exit fullscreen mode

11. Instalasi Composer macOS Tanpa Homebrew

Composer juga dapat dipasang menggunakan installer berbasis PHP.

Pendekatan dasarnya adalah mengunduh installer Composer, memverifikasi installer, kemudian memasang Composer sebagai executable.

Salah satu pola instalasi yang umum:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Enter fullscreen mode Exit fullscreen mode

Kemudian installer dijalankan:

php composer-setup.php
Enter fullscreen mode Exit fullscreen mode

Setelah itu, Composer dapat dipindahkan ke lokasi yang ada di PATH, misalnya:

sudo mv composer.phar /usr/local/bin/composer
Enter fullscreen mode Exit fullscreen mode

Pada beberapa sistem macOS modern, /opt/homebrew/bin atau lokasi lain mungkin lebih sesuai.

Karena konfigurasi PATH dapat berbeda, periksa terlebih dahulu:

echo $PATH
Enter fullscreen mode Exit fullscreen mode

dan:

which php
Enter fullscreen mode Exit fullscreen mode

12. Instalasi Composer di Linux

Linux memiliki banyak distribusi, tetapi konsep instalasinya relatif sama.

Distribusi yang umum digunakan antara lain:

  • Ubuntu
  • Debian
  • Linux Mint
  • Fedora
  • Rocky Linux
  • AlmaLinux
  • Arch Linux

Langkah pertama tetap sama:

php -v
Enter fullscreen mode Exit fullscreen mode

13. Instal PHP di Ubuntu atau Debian

Jika PHP belum tersedia, pada Ubuntu/Debian Anda dapat menggunakan package manager:

sudo apt update
Enter fullscreen mode Exit fullscreen mode

Kemudian:

sudo apt install php-cli unzip
Enter fullscreen mode Exit fullscreen mode

Setelah selesai:

php -v
Enter fullscreen mode Exit fullscreen mode

Jika versi PHP muncul, PHP CLI sudah tersedia.

php-cli penting karena Composer digunakan melalui command line.


14. Instal Composer di Linux

Composer menyediakan installer resmi berbasis PHP.

Pendekatan yang umum adalah mengunduh installer:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Enter fullscreen mode Exit fullscreen mode

Kemudian jalankan:

php composer-setup.php
Enter fullscreen mode Exit fullscreen mode

Jika berhasil, akan terbentuk:

composer.phar
Enter fullscreen mode Exit fullscreen mode

File tersebut dapat dijalankan dengan:

php composer.phar --version
Enter fullscreen mode Exit fullscreen mode

Namun, agar kita dapat menggunakan command:

composer
Enter fullscreen mode Exit fullscreen mode

tanpa menulis php composer.phar, Composer biasanya ditempatkan pada direktori yang terdapat di PATH.

Contohnya:

sudo mv composer.phar /usr/local/bin/composer
Enter fullscreen mode Exit fullscreen mode

Kemudian:

composer --version
Enter fullscreen mode Exit fullscreen mode

15. Mengapa Composer Sering Diletakkan di /usr/local/bin?

Linux menggunakan PATH untuk mencari executable.

Cek PATH dengan:

echo $PATH
Enter fullscreen mode Exit fullscreen mode

Jika terdapat:

/usr/local/bin
Enter fullscreen mode Exit fullscreen mode

maka program yang diletakkan di sana biasanya dapat dipanggil langsung:

composer
Enter fullscreen mode Exit fullscreen mode

daripada:

php /path/ke/composer.phar
Enter fullscreen mode Exit fullscreen mode

16. Instalasi Composer dengan Package Manager Linux

Pada beberapa distribusi, Composer tersedia melalui repository sistem.

Contohnya pada Ubuntu/Debian:

sudo apt update
sudo apt install composer
Enter fullscreen mode Exit fullscreen mode

Kemudian:

composer --version
Enter fullscreen mode Exit fullscreen mode

Cara ini mudah, tetapi perlu dipahami bahwa versi Composer dari repository distribusi bisa berbeda dari versi yang tersedia langsung dari situs resmi Composer.

Jika kebutuhan proyek mengharuskan versi tertentu, periksa versi yang tersedia sebelum memilih metode ini.


17. Verifikasi Instalasi Composer

Terlepas dari sistem operasi yang digunakan, pemeriksaan dasar dapat dilakukan dengan:

composer --version
Enter fullscreen mode Exit fullscreen mode

Kemudian:

composer diagnose
Enter fullscreen mode Exit fullscreen mode

composer diagnose dapat membantu menemukan masalah pada environment Composer.

Contoh pemeriksaan:

composer diagnose
Enter fullscreen mode Exit fullscreen mode

Jika environment bermasalah, Composer dapat memberikan informasi mengenai konfigurasi yang perlu diperiksa.


18. Memahami File composer.json

Setelah Composer terpasang, hal penting berikutnya adalah memahami composer.json.

Misalnya:

{
    "name": "contoh/aplikasi",
    "description": "Contoh aplikasi PHP",
    "require": {
        "monolog/monolog": "^3.0"
    }
}
Enter fullscreen mode Exit fullscreen mode

Bagian:

"require"
Enter fullscreen mode Exit fullscreen mode

berisi dependency utama aplikasi.

Dalam contoh:

"monolog/monolog": "^3.0"
Enter fullscreen mode Exit fullscreen mode

berarti aplikasi membutuhkan package Monolog dengan constraint versi tersebut.


19. Membuat Proyek Composer Baru

Buat folder:

mkdir belajar-composer
Enter fullscreen mode Exit fullscreen mode

Masuk:

cd belajar-composer
Enter fullscreen mode Exit fullscreen mode

Kemudian:

composer init
Enter fullscreen mode Exit fullscreen mode

Composer akan menanyakan beberapa informasi.

Setelah selesai, proyek akan memiliki:

belajar-composer/
└── composer.json
Enter fullscreen mode Exit fullscreen mode

20. Menambahkan Package

Misalnya ingin memasang Monolog:

composer require monolog/monolog
Enter fullscreen mode Exit fullscreen mode

Composer akan membuat atau memperbarui:

composer.json
Enter fullscreen mode Exit fullscreen mode

dan:

composer.lock
Enter fullscreen mode Exit fullscreen mode

Kemudian dependency akan dipasang ke:

vendor/
Enter fullscreen mode Exit fullscreen mode

Strukturnya kurang lebih:

belajar-composer/
│
├── composer.json
├── composer.lock
└── vendor/
    ├── autoload.php
    └── ...
Enter fullscreen mode Exit fullscreen mode

21. Apa Itu composer.lock?

composer.json menjelaskan dependency dan constraint versi.

Sementara composer.lock menyimpan versi dependency yang benar-benar dipilih saat dependency di-resolve.

Ini penting dalam pengembangan aplikasi.

Misalnya developer A menjalankan:

composer install
Enter fullscreen mode Exit fullscreen mode

dan developer B juga menjalankan:

composer install
Enter fullscreen mode Exit fullscreen mode

Dengan composer.lock yang sama, keduanya akan menggunakan dependency yang telah dikunci oleh file tersebut.

Untuk aplikasi, composer.lock umumnya perlu disimpan di repository Git.


22. composer install vs composer update

Dua command ini sering membingungkan developer pemula.

composer install

Gunakan ketika ingin memasang dependency berdasarkan konfigurasi proyek.

composer install
Enter fullscreen mode Exit fullscreen mode

Jika composer.lock tersedia, Composer akan menggunakan versi yang tercatat di lock file.

Ini adalah command yang umum digunakan ketika melakukan clone project dari Git.

Contohnya:

git clone <repository>
cd project
composer install
Enter fullscreen mode Exit fullscreen mode

composer update

Gunakan ketika memang ingin melakukan resolusi ulang dependency berdasarkan constraint pada composer.json.

composer update
Enter fullscreen mode Exit fullscreen mode

Command ini dapat mengubah composer.lock.

Karena itu, jangan menjalankan composer update secara sembarangan pada project production.


23. Perbedaan Sederhana

Bayangkan:

composer.json
       │
       ▼
Aturan versi dependency
       │
       ▼
composer.lock
       │
       ▼
Versi yang dipilih
       │
       ▼
vendor/
Enter fullscreen mode Exit fullscreen mode

Secara sederhana:

composer install
Enter fullscreen mode Exit fullscreen mode

= pasang dependency sesuai lock file.

Sedangkan:

composer update
Enter fullscreen mode Exit fullscreen mode

= cari kembali versi dependency yang sesuai dengan constraint.


24. Apa Itu Folder vendor?

Folder:

vendor/
Enter fullscreen mode Exit fullscreen mode

berisi dependency yang dipasang Composer.

Contohnya:

vendor/
├── autoload.php
├── composer/
├── monolog/
└── ...
Enter fullscreen mode Exit fullscreen mode

Jangan mengedit file di dalam vendor secara manual.

Jika dependency berubah, biarkan Composer yang mengelolanya.


25. Autoload Composer

Composer menghasilkan:

vendor/autoload.php
Enter fullscreen mode Exit fullscreen mode

File ini dapat digunakan aplikasi:

require __DIR__ . '/vendor/autoload.php';
Enter fullscreen mode Exit fullscreen mode

Setelah itu package yang terpasang melalui Composer dapat digunakan.

Contoh:

<?php

require __DIR__ . '/vendor/autoload.php';

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$log = new Logger('app');
$log->pushHandler(new StreamHandler(__DIR__ . '/app.log'));

$log->info('Aplikasi berjalan.');

echo "Selesai.";
Enter fullscreen mode Exit fullscreen mode

Jalankan:

php index.php
Enter fullscreen mode Exit fullscreen mode

Jika tidak ada error dependency, berarti Composer dan autoload telah bekerja dengan baik.


26. Composer Global vs Dependency Project

Ada konsep yang perlu dibedakan.

Composer sendiri adalah tool global.

Sementara package seperti:

monolog/monolog
Enter fullscreen mode Exit fullscreen mode

biasanya merupakan dependency project.

Contohnya:

Computer
│
├── Composer
│
├── Project A
│   └── vendor/
│
├── Project B
│   └── vendor/
│
└── Project C
    └── vendor/
Enter fullscreen mode Exit fullscreen mode

Setiap project memiliki dependency masing-masing.


27. Menjalankan Composer di Project

Setelah Composer terpasang, pola kerja yang umum adalah:

cd nama-project
Enter fullscreen mode Exit fullscreen mode

Kemudian:

composer install
Enter fullscreen mode Exit fullscreen mode

Jika ingin menambahkan package:

composer require nama/vendor
Enter fullscreen mode Exit fullscreen mode

Jika ingin menghapus package:

composer remove nama/vendor
Enter fullscreen mode Exit fullscreen mode

28. Command Composer yang Perlu Diketahui

Beberapa command penting:

Command Fungsi
composer --version Melihat versi Composer
composer diagnose Mendiagnosis environment
composer init Membuat composer.json
composer install Memasang dependency
composer update Memperbarui dependency
composer require Menambahkan dependency
composer remove Menghapus dependency
composer dump-autoload Membuat ulang autoloader
composer show Melihat package yang terpasang
composer validate Memvalidasi composer.json

29. Masalah PHP Tidak Ditemukan

Jika:

php -v
Enter fullscreen mode Exit fullscreen mode

menghasilkan:

command not found
Enter fullscreen mode Exit fullscreen mode

atau pada Windows:

php is not recognized
Enter fullscreen mode Exit fullscreen mode

maka masalahnya belum berada pada Composer.

Perbaiki terlebih dahulu instalasi atau PATH PHP.

Periksa lokasi PHP.

Windows

where php
Enter fullscreen mode Exit fullscreen mode

macOS/Linux

which php
Enter fullscreen mode Exit fullscreen mode

Jika tidak ada hasil, shell belum menemukan PHP.


30. Masalah Composer Tidak Ditemukan

Jika:

composer --version
Enter fullscreen mode Exit fullscreen mode

tidak ditemukan:

Windows

Gunakan:

where composer
Enter fullscreen mode Exit fullscreen mode

macOS/Linux

Gunakan:

which composer
Enter fullscreen mode Exit fullscreen mode

Jika tidak ada hasil, periksa PATH dan instalasi Composer.

Setelah memperbarui PATH, buka terminal baru.


31. Beberapa Versi PHP Terpasang

Ini adalah masalah yang cukup umum pada komputer developer.

Misalnya:

PHP 8.1
PHP 8.2
PHP 8.3
PHP 8.4
Enter fullscreen mode Exit fullscreen mode

tersedia secara bersamaan.

Periksa PHP yang sedang digunakan:

php -v
Enter fullscreen mode Exit fullscreen mode

dan:

Windows

where php
Enter fullscreen mode Exit fullscreen mode

macOS/Linux

which php
Enter fullscreen mode Exit fullscreen mode

Jika lebih dari satu lokasi muncul, PATH menentukan PHP mana yang dipanggil terlebih dahulu.


32. Masalah Extension PHP

Composer dan package PHP tertentu dapat membutuhkan extension tertentu.

Jika Composer menampilkan pesan seperti:

ext-xxx is missing
Enter fullscreen mode Exit fullscreen mode

berarti PHP yang sedang digunakan belum memiliki extension tersebut.

Periksa extension:

php -m
Enter fullscreen mode Exit fullscreen mode

Untuk melihat konfigurasi PHP:

php --ini
Enter fullscreen mode Exit fullscreen mode

Command tersebut menunjukkan file konfigurasi php.ini yang sedang digunakan.


33. Masalah memory_limit

Pada dependency besar, Composer dapat menggunakan cukup banyak memory.

Jika mendapatkan error berkaitan dengan memory limit, periksa:

php -i | grep memory_limit
Enter fullscreen mode Exit fullscreen mode

Pada Windows, Anda dapat menggunakan:

php -i | findstr memory_limit
Enter fullscreen mode Exit fullscreen mode

Namun jangan langsung menaikkan memory limit tanpa memahami penyebabnya. Error memory dapat berasal dari environment, dependency graph, atau konfigurasi PHP yang digunakan CLI.


34. Masalah SSL atau Sertifikat

Jika Composer mengalami masalah ketika mengakses repository HTTPS, periksa konfigurasi SSL PHP.

Gunakan:

composer diagnose
Enter fullscreen mode Exit fullscreen mode

dan:

php --ini
Enter fullscreen mode Exit fullscreen mode

Pastikan PHP CLI menggunakan konfigurasi yang benar.

Masalah SSL sebaiknya diperbaiki pada konfigurasi sertifikat atau environment, bukan dengan menonaktifkan verifikasi SSL secara sembarangan.


35. Jangan Menggunakan sudo composer Secara Sembarangan

Pada Linux/macOS, developer terkadang menemukan error permission lalu menjalankan:

sudo composer install
Enter fullscreen mode Exit fullscreen mode

Ini bukan solusi yang ideal untuk dependency project.

Menggunakan sudo dapat membuat file project dimiliki oleh user root, kemudian user biasa mengalami masalah permission.

Lebih baik perbaiki ownership dan permission project.

Gunakan hak administrator hanya ketika memang dibutuhkan, misalnya ketika memasang executable secara system-wide ke direktori yang membutuhkan permission administrator.


36. Composer dan Git

Dalam project PHP modern, biasanya file berikut disimpan di Git:

composer.json
composer.lock
Enter fullscreen mode Exit fullscreen mode

Sedangkan folder:

vendor/
Enter fullscreen mode Exit fullscreen mode

biasanya tidak disimpan di repository.

Contoh .gitignore:

/vendor/
Enter fullscreen mode Exit fullscreen mode

Ketika developer lain melakukan clone:

git clone <repository>
Enter fullscreen mode Exit fullscreen mode

kemudian:

cd project
composer install
Enter fullscreen mode Exit fullscreen mode

Composer akan membuat kembali:

vendor/
Enter fullscreen mode Exit fullscreen mode

berdasarkan dependency project.


37. Composer pada Laravel

Composer sangat erat dengan ekosistem Laravel.

Untuk membuat project Laravel, pola yang umum adalah:

composer create-project laravel/laravel nama-aplikasi
Enter fullscreen mode Exit fullscreen mode

Kemudian:

cd nama-aplikasi
Enter fullscreen mode Exit fullscreen mode

dan:

php artisan serve
Enter fullscreen mode Exit fullscreen mode

Composer menangani berbagai dependency Laravel di belakang layar.

Ketika project Laravel sudah tersedia dari repository:

git clone <repository>
cd nama-aplikasi
composer install
Enter fullscreen mode Exit fullscreen mode

Kemudian konfigurasi environment dan jalankan aplikasi sesuai kebutuhan project.


38. Composer untuk Development Team

Dalam tim, Composer membantu menjaga dependency tetap konsisten.

Workflow sederhananya:

Developer A
    │
    ├── composer require package
    │
    ├── composer.json
    └── composer.lock
             │
             ▼
          Git
             │
      ┌──────┴──────┐
      ▼             ▼
Developer B     Developer C
      │             │
      └── composer install
Enter fullscreen mode Exit fullscreen mode

Dengan demikian, anggota tim tidak perlu memasang dependency secara manual satu per satu.


39. Composer pada Server Production

Pada deployment, pola yang umum adalah:

composer install --no-dev --optimize-autoloader
Enter fullscreen mode Exit fullscreen mode

Namun command deployment harus disesuaikan dengan framework dan kebutuhan aplikasi.

Untuk aplikasi production, dependency sebaiknya dipasang berdasarkan lock file yang sudah diuji.

Hindari menjadikan:

composer update
Enter fullscreen mode Exit fullscreen mode

sebagai bagian dari deployment rutin tanpa alasan yang jelas.


40. Composer di Windows, macOS, dan Linux

Secara konsep, ketiga sistem operasi bekerja dengan cara yang sama.

Hal Windows macOS Linux
PHP Wajib Wajib Wajib
Composer Wajib Wajib Wajib
Terminal CMD/PowerShell/Terminal Terminal Terminal
Cek PHP php -v php -v php -v
Cek Composer composer -V composer -V composer -V
Cek executable PHP where php which php which php
Cek executable Composer where composer which composer which composer
Package manager umum winget/choco, installer aplikasi Homebrew apt/dnf/pacman

Perbedaan utama berada pada cara memasang PHP, Composer, dan mengatur PATH.


41. Checklist Instalasi Composer

Setelah instalasi, lakukan pemeriksaan berikut.

PHP

php -v
Enter fullscreen mode Exit fullscreen mode

Composer

composer --version
Enter fullscreen mode Exit fullscreen mode

Composer diagnostic

composer diagnose
Enter fullscreen mode Exit fullscreen mode

Lokasi PHP

Windows:

where php
Enter fullscreen mode Exit fullscreen mode

macOS/Linux:

which php
Enter fullscreen mode Exit fullscreen mode

Lokasi Composer

Windows:

where composer
Enter fullscreen mode Exit fullscreen mode

macOS/Linux:

which composer
Enter fullscreen mode Exit fullscreen mode

Versi PHP CLI

php -v
Enter fullscreen mode Exit fullscreen mode

Konfigurasi PHP

php --ini
Enter fullscreen mode Exit fullscreen mode

Jika seluruh command bekerja, environment dasar Composer sudah siap.


42. Kesalahan yang Sering Dilakukan Pemula

42.1 Menginstal Composer tanpa PHP

Composer adalah dependency manager untuk PHP.

Jadi PHP perlu tersedia terlebih dahulu.


42.2 Tidak membuka terminal baru setelah mengubah PATH

Jika PATH berubah tetapi terminal lama masih digunakan, command baru mungkin belum dikenali.

Solusi:

  1. tutup terminal,
  2. buka terminal baru,
  3. jalankan kembali:
composer --version
Enter fullscreen mode Exit fullscreen mode

42.3 Memiliki beberapa PHP tetapi tidak tahu PHP mana yang digunakan

Gunakan:

php -v
Enter fullscreen mode Exit fullscreen mode

dan:

where php
Enter fullscreen mode Exit fullscreen mode

atau:

which php
Enter fullscreen mode Exit fullscreen mode

42.4 Menghapus composer.lock tanpa alasan

composer.lock membantu menjaga dependency tetap konsisten.

Jangan menghapusnya hanya karena muncul masalah dependency.

Cari tahu penyebab masalah terlebih dahulu.


42.5 Menjalankan composer update setiap kali ada error

composer update bukan command untuk memperbaiki semua masalah.

Jika project sebenarnya sudah memiliki lock file yang benar, gunakan:

composer install
Enter fullscreen mode Exit fullscreen mode

dan diagnosis masalah yang sebenarnya.


42.6 Mengubah isi vendor secara manual

Jangan mengedit dependency di dalam:

vendor/
Enter fullscreen mode Exit fullscreen mode

Jika membutuhkan perubahan library, gunakan dependency yang sesuai atau mekanisme Composer yang tepat.


43. Tes Instalasi dengan Project Sederhana

Setelah Composer berhasil dipasang, sebaiknya jangan berhenti pada:

composer --version
Enter fullscreen mode Exit fullscreen mode

Lakukan pengujian nyata.

Buat folder:

mkdir composer-test
cd composer-test
Enter fullscreen mode Exit fullscreen mode

Kemudian:

composer require monolog/monolog
Enter fullscreen mode Exit fullscreen mode

Jika berhasil, akan terbentuk:

composer.json
composer.lock
vendor/
Enter fullscreen mode Exit fullscreen mode

Buat file:

index.php
Enter fullscreen mode Exit fullscreen mode

Isi:

<?php

require __DIR__ . '/vendor/autoload.php';

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$logger = new Logger('demo');

$logger->pushHandler(
    new StreamHandler(__DIR__ . '/app.log')
);

$logger->info('Composer berhasil digunakan.');

echo "Composer bekerja dengan baik.\n";
Enter fullscreen mode Exit fullscreen mode

Jalankan:

php index.php
Enter fullscreen mode Exit fullscreen mode

Jika muncul:

Composer bekerja dengan baik.
Enter fullscreen mode Exit fullscreen mode

dan file:

app.log
Enter fullscreen mode Exit fullscreen mode

terbentuk, maka Composer, dependency installation, dan autoloading telah bekerja.


44. Alur Kerja Composer yang Perlu Dipahami

Daripada menghafalkan banyak command, lebih baik pahami alurnya.

composer.json
      │
      ▼
Dependency definition
      │
      ▼
Composer
      │
      ├── Resolusi dependency
      │
      ├── Menentukan versi
      │
      ├── Mengunduh package
      │
      └── Membuat autoloader
      │
      ▼
composer.lock
      │
      ▼
vendor/
      │
      ▼
Aplikasi PHP
Enter fullscreen mode Exit fullscreen mode

Inilah inti Composer.


45. Composer Bukan Framework

Hal ini juga penting dipahami.

Composer bukan Laravel.

Composer bukan Symfony.

Composer bukan CodeIgniter.

Composer adalah dependency manager.

Hubungannya dapat digambarkan seperti:

Composer
   │
   ├── Laravel
   ├── Symfony
   ├── Monolog
   ├── Guzzle
   ├── PHPUnit
   └── berbagai package PHP lainnya
Enter fullscreen mode Exit fullscreen mode

Framework dan library dapat menggunakan Composer untuk mengelola dependency mereka.


46. Ringkasan Instalasi

Windows

  1. Pastikan PHP tersedia.
  2. Jalankan:
php -v
Enter fullscreen mode Exit fullscreen mode
  1. Instal Composer menggunakan installer Windows.
  2. Pastikan installer menggunakan PHP yang benar.
  3. Buka terminal baru.
  4. Jalankan:
composer --version
Enter fullscreen mode Exit fullscreen mode
  1. Jika gagal:
where php
where composer
Enter fullscreen mode Exit fullscreen mode

macOS

Jika menggunakan Homebrew:

brew install php
brew install composer
Enter fullscreen mode Exit fullscreen mode

Kemudian:

php -v
composer --version
Enter fullscreen mode Exit fullscreen mode

Jika menggunakan installer manual, pastikan executable Composer berada pada PATH.


Linux

Pada Ubuntu/Debian, salah satu pendekatan:

sudo apt update
sudo apt install php-cli unzip
Enter fullscreen mode Exit fullscreen mode

Kemudian instal Composer melalui installer resmi atau package manager yang sesuai.

Verifikasi:

php -v
composer --version
composer diagnose
Enter fullscreen mode Exit fullscreen mode

47. Kesimpulan

Instalasi Composer sebenarnya tidak sulit. Bagian yang paling sering membuat pemula mengalami masalah bukan Composer itu sendiri, melainkan hubungan antara PHP, PATH, dan environment sistem operasi.

Urutan berpikir yang paling aman adalah:

1. Apakah PHP tersedia?
        ↓
2. PHP mana yang digunakan?
        ↓
3. Apakah Composer sudah terpasang?
        ↓
4. Apakah Composer dapat ditemukan oleh PATH?
        ↓
5. Apakah Composer dapat menjalankan dependency?
        ↓
6. Apakah project dapat menggunakan vendor/autoload.php?
Enter fullscreen mode Exit fullscreen mode

Jika keenam bagian tersebut dipahami, masalah Composer akan jauh lebih mudah ditelusuri.

Command paling penting untuk diingat:

php -v
Enter fullscreen mode Exit fullscreen mode
composer --version
Enter fullscreen mode Exit fullscreen mode
composer diagnose
Enter fullscreen mode Exit fullscreen mode
composer install
Enter fullscreen mode Exit fullscreen mode
composer require nama/vendor
Enter fullscreen mode Exit fullscreen mode
composer update
Enter fullscreen mode Exit fullscreen mode

Dan satu prinsip yang sangat penting:

Jangan hanya menghafal command Composer. Pahami hubungan antara composer.json, composer.lock, vendor/, PHP, dan autoloading.

Dengan pemahaman tersebut, Composer bukan lagi sekadar program yang harus "diinstal", tetapi menjadi bagian dari workflow pengembangan aplikasi PHP yang terstruktur.


Tentang Penulis

Ahmad Asroni, S.Kom., M.Kom. adalah software developer dan technology practitioner yang berfokus pada software engineering, web development, mobile development, dan artificial intelligence.

Saya aktif mengembangkan aplikasi dan solusi teknologi menggunakan berbagai teknologi modern, sekaligus berbagi pengetahuan praktis mengenai pemrograman, software development, dan teknologi informasi melalui berbagai proyek dan tulisan teknis.

Artikel ini ditulis untuk memberikan panduan praktis mengenai instalasi Composer pada Windows, macOS, dan Linux, mulai dari persiapan PHP, konfigurasi environment, proses instalasi, hingga penggunaan Composer dalam proyek PHP.

Profil Ahmad Asroni


Ditulis oleh Ahmad Asroni

Software Developer · Technology Practitioner · AI Enthusiast

© 2026 Ahmad Asroni. All rights reserved.

Top comments (0)