Jumat, 10 June 2022

Composer Bisa Melakukan Lebih Dari Sekadar Instalasi

Dalam artikel ini, kita akan membahas apa saja yang dapat dilakukan composer selain menginstal package yang kita butuhkan.

Tool

Dalam artikel ini, kita akan membahas apa saja yang dapat dilakukan composer selain menginstal package yang kita butuhkan.

Ketika Anda ingin melihat mana saja package yang membutuhkan update, maka bisa dilihat dengan cara ini

composer outdated
...
inertiajs/inertia-laravel v0.5.4  v0.6.2   The Laravel adapter for Inertia.js.
laravel/sail              v1.14.9 v1.14.10 Docker files for running a basic Laravel application.
monolog/monolog           2.6.0   3.1.0    Sends your logs to files, sockets, inboxes, databases and various web services
phpstan/phpdoc-parser     1.5.1   1.6.0    PHPDoc parser with support for nullable, intersection and generic types

Selain itu, jika Anda ingin melihat package apa saja yang sudah di install, dan menunjukkan deskripsi singkat dan versi nya bisa dengan cara berikut:

composer show
...
abraham/twitteroauth                           2.0.2     The most popular PHP library for use with the Twitter OAuth REST API.
algolia/algoliasearch-client-php               3.2.0     Algolia Search API Client for PHP
asm89/stack-cors                               v2.1.1    Cross-origin resource sharing library and stack middleware
aws/aws-crt-php                                v1.0.2    AWS Common Runtime for PHP

Jika Anda ingin bertanya kenapa Anda harus / tidak harus menggunakan package ini, bisa dengan cara

composer why aws/aws-sdk-php
...
league/flysystem            3.0.20  conflicts  aws/aws-sdk-php (3.209.31 || 3.210.0)
league/flysystem-aws-s3-v3  3.0.13  requires   aws/aws-sdk-php (^3.132.4)
composer why-not aws/aws-sdk-php 3.0
...
league/flysystem-aws-s3-v3  3.0.13      requires          aws/aws-sdk-php (^3.132.4)
aws/aws-sdk-php             3.0.0       requires          guzzlehttp/guzzle (^5.3 || ^6.0.1)
laravel/laravel             dev-master  requires          guzzlehttp/guzzle (^7.2)
aws/aws-sdk-php             3.0.0       requires          guzzlehttp/psr7 (^1.0.0)
laravel/laravel             dev-master  does not require  guzzlehttp/psr7 (but 2.3.0 is installed)

Terakhir, mungkin juga kalian juga sudah tau hal ini, tapi jika belum, kalian bisa update semua package yang ada dalam satu project dengan hanya menggunakan keyword update seperti:

composer update
...
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 15 updates, 0 removals
  - Upgrading aws/aws-sdk-php (3.225.0 => 3.225.1)
  - Upgrading guzzlehttp/guzzle (7.4.3 => 7.4.4)
  - Upgrading guzzlehttp/psr7 (2.2.2 => 2.3.0)
  - Upgrading laravel/sail (v1.14.9 => v1.14.10)
...

Saat saya menulis ini, composer belum versi 2.4, tapi sekarang sudah tanggal 24 september, yang mana dia telah mengeluarkan versi terbarunya yaitu 2.4. Pada update kali ini ada perintah baru yang namanya bump, guna untuk meningkatkannya ke versi terbaru dalam batasan yang diizinkan.

composer bump

Itu saja dulu untuk pengetahuan tentang composer, jika Anda suka dengan artikel ini, silahkan share keteman-teman Anda.