Composer adalah manajer paket tingkat aplikasi untuk bahasa pemrograman PHP yang mirip dengan NPM untuk Node.Js atau PIP untuk Python. Composer menyediakan format standar untuk mengelola semua dependensi perangkat lunak PHP dan perpustakaan yang diperlukan dengan mengunduh semua paket PHP yang diperlukan dari proyek Anda dan mengelolanya untuk Anda. Ini digunakan oleh sebagian besar kerangka kerja PHP modern seperti Laravel, Drupal, Magento, dan Symfony.
Dalam tutorial berikut, Anda akan mempelajari cara mengunduh dan menginstal composer, bersama dengan beberapa cara penting untuk bekerja dengan composer di Debian 11 Bullseye.
Prasyarat
- OS yang Disarankan: Debian 11 Bullseye
- Akun pengguna: Akun pengguna dengan hak istimewa sudo atau akses root (perintah su) .
- Paket yang Diperlukan: wget, PHP 5.3 atau lebih tinggi
Memperbarui Sistem Operasi
Perbarui Debian 11 . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:
sudo apt update && sudo apt upgrade
Akses Root atau Sudo
Secara default, ketika Anda membuat akun Anda saat memulai dengan Debian dibandingkan dengan distribusi lain, itu tidak secara otomatis menerima status sudoers. Anda harus memiliki akses ke sandi root untuk menggunakan perintah su atau kunjungi tutorial kami tentang Cara Menambahkan Pengguna ke Sudoers di Debian.
Instal Dependensi
Paket-paket berikut diperlukan untuk mengunduh komposer dan untuk penggunaan di masa mendatang. Catatan, jika menggunakan versi PHP tertentu, Anda perlu menyesuaikan paket PHP di bawah ini agar sesuai dengan versinya. Misalnya, menginstal PHP 8.0 akan menjadi php8.0-mbstring.
sudo apt install curl wget php-common php-cli php-gd php-mysql php-curl php-intl php-mbstring php-bcmath php-imap php-xml php-zip git unzip
Instal Komposer PHP
Tim Composer telah membuat skrip PHP resmi untuk menginstal dan mengkonfigurasi PHP Composer di sistem Anda. Anda dapat mengunduh ini dengan mengunjungi halaman unduhan atau membuka terminal Debian Anda dan menjalankan perintah berikut.
Metode PHP:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Metode WGET:
wget -O composer-setup.php https://getcomposer.org/installer
Sekarang dengan setup.php yang diunduh, sekarang saatnya untuk menginstal composer. Ini bisa dalam dua cara berbeda, satu di mana Anda dapat menginstal komposer secara global, atau alternatif kedua adalah menginstal per basis aplikasi PHP.
Untuk memasang secara global:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
chmod +x /usr/local/bin/composer
Untuk menginstal per aplikasi:
cd /example-project/php-application && mkdir -p bin
php composer-setup.php --install-dir=bin --filename=composer
chmod +x bin/composer
Sesuai di atas, Anda perlu menavigasi ke direktori proyek PHP dan membuat direktori bin untuk komposer PHP yang akan diinstal.
Setelah selesai, konfirmasikan composer telah diinstal dan build serta versi mana.
composer --version
Composer version 2.1.8 2021-09-15 13:55:14
Sekarang uji instalasi composer dengan perintah berikut:
composer
Contoh keluaran:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.1.8 2021-09-15 13:55:14
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
about Shows a short information about Composer.
archive Creates an archive of this composer package.
browse Opens the package's repository URL or homepage in your browser.
cc Clears composer's internal package cache.
check-platform-reqs Check that platform requirements are satisfied.
clear-cache Clears composer's internal package cache.
clearcache Clears composer's internal package cache.
config Sets config options.
create-project Creates new project from a package into given directory.
depends Shows which packages cause the given package to be installed.
diagnose Diagnoses the system to identify common errors.
dump-autoload Dumps the autoloader.
dumpautoload Dumps the autoloader.
exec Executes a vendored binary/script.
fund Discover how to help fund the maintenance of your dependencies.
global Allows running commands in the global composer dir ($COMPOSER_HOME).
help Displays help for a command
home Opens the package's repository URL or homepage in your browser.
i Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
info Shows information about packages.
init Creates a basic composer.json file in current directory.
install Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
licenses Shows information about licenses of dependencies.
list Lists commands
outdated Shows a list of installed packages that have updates available, including their latest version.
prohibits Shows which packages prevent the given package from being installed.
reinstall Uninstalls and reinstalls the given package names
remove Removes a package from the require or require-dev.
require Adds required packages to your composer.json and installs them.
run Runs the scripts defined in composer.json.
run-script Runs the scripts defined in composer.json.
search Searches for packages.
self-update Updates composer.phar to the latest version.
selfupdate Updates composer.phar to the latest version.
show Shows information about packages.
status Shows a list of locally modified packages.
suggests Shows package suggestions.
u Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
update Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
upgrade Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
validate Validates a composer.json and composer.lock.
why Shows which packages cause the given package to be installed.
why-not Shows which packages prevent the given package from being installed.
Cara bekerja dengan Komposer PHP
Tutorial ini akan menunjukkan kepada Anda beberapa fungsi penting ketika komposer PHP diinstal untuk menguji operasinya.
Pertama, buat direktori proyek Anda:
mkdir ~/composer-test
cd ~/composer-test
Selanjutnya, cari paket dari Packagist, atau alternatif gunakan contoh tutorial dan jalankan perintah berikut untuk menginisialisasi file composer.json baru dan menginstal paket karbon:
composer require psr/log
Contoh keluaran:
Using version ^1.1 for psr/log
./composer.json has been created
Running composer update psr/log
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking psr/log (1.1.4)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Downloading psr/log (1.1.4)
- Installing psr/log (1.1.4): Extracting archive
Generating autoload files
Seperti di atas, composer akan secara otomatis membuat dan mengupdate file composer.json beserta dependensi yang diperlukan. Atau, Anda dapat menginstal dan atau menurunkan versi paket yang ada ke nomor versi tertentu.
Contoh:
composer require psr/log=1.0
Di direktori proyek, Anda dapat membuat daftar file dan direktori di dalamnya menggunakan perintah ls :
ls -l
Contoh keluaran:
./composer.json has been updated
Running composer update psr/log
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
- Downgrading psr/log (1.1.4 => 1.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
- Downloading psr/log (1.0.0)
- Downgrading psr/log (1.1.4 => 1.0.0): Extracting archive
Generating autoload files
Rincian persyaratan dan file yang terdaftar.
- composer.json – File dibuat untuk proyek dan semua dependensi PHP.
- composer.lock – File yang berisi daftar semua paket dan versi.
- penjual – Direktori tempat dependensi diunduh dan diinstal.
Dengan proyek Anda, Anda mungkin ingin atau perlu memperbarui dependensi, dan ini dapat dilakukan dengan menjalankan perintah berikut:
composer update
Contoh keluaran:
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
Seperti yang Anda lihat di atas, tidak ada dependensi yang memerlukan pembaruan. Jika ada, prosesnya akan dimulai.
Jika Anda tidak membutuhkan modul lagi, Anda dapat menghapusnya dengan perintah composer remove:
composer remove psr/log
Contoh keluaran:
./composer.json has been updated
Running composer update psr/log
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 0 updates, 1 removal
- Removing psr/log (1.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 0 updates, 1 removal
- Removing psr/log (1.0.0)
Generating autoload files
Saat menghapus paket, seperti halnya menginstal, menghapus akan secara otomatis memperbarui file composer.json. Anda dapat memverifikasi ini menggunakan perintah cat .
cat composer.json
Contoh sebelum penghapusan paket psr/log:
{
"require": {
"psr/log": "1.0"
}
}
Contoh setelah penghapusan paket psr/log:
{
}
Cara Meningkatkan Komposer PHP
Fitur yang berguna dari komposer PHP adalah dapat meningkatkan sendiri ke versi stabil terbaru yang tersedia. Jalankan perintah berikut untuk meningkatkan.
composer self-update
Contoh keluaran:
You are already using the latest available Composer version 2.1.8 (stable channel).
Seperti disebutkan di atas, komposer PHP sudah dalam versi terbaru. Namun, jika upgrade tersedia, Anda akan diminta untuk mengupgrade.