---
title: "Kahdeksan Composerin komentoa, jotka jokaisen PHP-kehittäjän tulisi tuntea"
canonical_url: "https://www.speedzone.fi/blogi/kahdeksan-composerin-komentoa-jotka-jokaisen-php-kehittajan-tulisi-tuntea/"
post_type: "post"
published: "2024-07-22T06:59:13+00:00"
modified: "2024-09-09T08:58:41+00:00"
author: "Ingmar Aasoja"
featured_image: "https://www.speedzone.fi/static/sites/2/2024/07/Kahdeksan-Composerin-komentoa-jotka-jokaisen-PHP-kehittajan-tulisi-tuntea.webp"
taxonomies:
  category:
    - name: "Tekninen"
      url: "https://www.speedzone.fi/blogi/category/tekninen/"
  post_tag:
    - name: "Composer"
      url: "https://www.speedzone.fi/blogi/tag/composer/"
    - name: "Composer.phar"
      url: "https://www.speedzone.fi/blogi/tag/composer-phar/"
    - name: "Kehittäjälle"
      url: "https://www.speedzone.fi/blogi/tag/kehittajalle/"
    - name: "Kotisivu"
      url: "https://www.speedzone.fi/blogi/tag/kotisivu/"
    - name: "php"
      url: "https://www.speedzone.fi/blogi/tag/php/"
    - name: "verkkosivu"
      url: "https://www.speedzone.fi/blogi/tag/verkkosivu/"
  skills:
    - name: "Asiantuntijalle"
      url: "https://www.speedzone.fi/blogi/skill/asiantuntijalle/"
    - name: "Edistyneille"
      url: "https://www.speedzone.fi/blogi/skill/edistyneille/"
---

# Kahdeksan Composerin komentoa, jotka jokaisen PHP-kehittäjän tulisi tuntea

**Artikkelin** [**Näin aloitat Composerin käytön**](https://www.speedzone.fi/blogi/2024/07/11/nain-aloitat-composer-phar-tiedoston-kayton/) **jatkona esittelen joitakin yleisimpiä komentoja, jotka jokaisen PHP-kehittäjän tulisi tuntea. Näitä komentoja tarvitaan usein päivittäisessä työssä. Joka on käyttänyt aiemmin jotakin paketinhallintaohjelmaa, kuten `npm` tai `yarn`, löytää tästä monia samankaltaisuuksia.**

![Kahdeksan Composerin komentoa, jotka jokaisen PHP-kehittäjän tulisi tuntea](https://www.speedzone.fi/static/sites/2/2024/07/Kahdeksan-Composerin-komentoa-jotka-jokaisen-PHP-kehittajan-tulisi-tuntea-1024x577.jpg)### [**Install**](https://getcomposer.org/doc/03-cli.md#install-i) **eli riippuvuuksien lataus ja konfigurointi.**

`composer install` -komento suoritetaan asentamaan riippuvuuksien tarkat versiot, jotka on kuvailtu `composer.lock`-tiedostossa. Tämä on alustava komento, kun ladataan versionhallinnasta uusi koodi ja `vendor`-hakemisto (paikka, johon asennetaan paketit) on tyhjä. Jos `composer.lock`-tiedostoa ei ole, asennetaan mahdollisimman uudet versiot, kuten `update`-komennollakin.

### [**Update**](https://getcomposer.org/doc/03-cli.md#update-u-upgrade) **eli riippuvuuksien päivittäminen.**

`composer update` tarkastaa `composer.json`-tiedoston sisällön, johon on merkitty halutut riippuvuudet, ja asentaa sen mukaan uusimmat paketit. Sitten tarkastetaan kaikki paketit, jotta asennettavat versiot ovat yhteensopivia toisiinsa. Se päivittää myös `composer.lock`-tiedoston tallentamalla siihen asennetun tilanteen, jotta seuraavalla `install`-komennolla käytetään jo vastaavia versioita.

### [**Require**](https://getcomposer.org/doc/03-cli.md#require-r) **eli uuden riippuvuuden asentaminen**

`composer require vendor/paketinnimi` käytetään uuden riippuvuuden asentamiseen. Jos vastaava paketti löytyy, tarkastetaan sen riippuvuudet muista asennetuista paketeista ja ladataan koneelle uusin versio. Lisäksi se merkitään `composer.json`-tiedostoon ja päivitetään tarkalla asennetulla versiolla myös `composer.lock`-tiedosto.

### [**Remove**](https://getcomposer.org/doc/03-cli.md#remove-rm-uninstall) **eli riippuvuuden poistaminen.**

`composer remove vendor/paketinnimi` poistaa riippuvuuden tiedostot ja sen tiedon sekä `composer.json`– että `composer.lock`-tiedostosta, jotta tätä riippuvuutta ei asenneta myös seuraavalla `composer install`-komennolla.

### [**Outdated**](https://getcomposer.org/doc/03-cli.md#outdated) **eli päivitysten tarkastus**

`composer outdated` antaa tietoa paketeista, joista on saatavilla uudempi versio. Tarkastetaan, että uudemmat versiot sopivat `composer.json`-tiedostossa määriteltyihin riippuvuuksiin. Erikseen merkitään suorat riippuvuudet, jotka on lueteltu `composer.json`-tiedostossa, ja myös sellaiset riippuvuudet, jotka ovat tulleet muiden pakettien mukana.

### [**Audit**](https://getcomposer.org/doc/03-cli.md#audit) **eli haavoittuvuuksien tarkastus**

`composer audit` tarkastaa pakettien haavoittuvuudet [Packagist.org API](https://packagist.org/apidoc#list-security-advisories)-palvelun kautta. Jos jotkin CVE-koodit tosiasiallisesti eivät vaikuta sovelluksen yhteydessä heikkouksilta, ne voidaan määrätä `composer.json`-tiedostossa sivuutettaviksi. Audit ilmoittaa myös [hylätyistä paketeista,](https://getcomposer.org/doc/06-config.md#audit) joita ei enää kehitetä, mikä tarkoittaa, että vastaava riippuvuus tulisi korvata jollakin uudella.

### [**Depends**](https://getcomposer.org/doc/03-cli.md#depends-why) **näyttää, miksi vastaava paketti on asennettu.**

`composer depends vendor/paketinnimi` näyttää, miksi jokin riippuvuus on asennettu. Tästä on hyötyä, jos jokin paketti joutuu riippuvuudessa ristiriitaan jonkin muun paketin kanssa, joka halutaan asentaa, tai jos tarkastus ilmoittaa jostakin haavoittuvuudesta. Tämä on erittäin tärkeää, jos kyseinen riippuvuus ei ole määritelty `composer.json`-tiedostossa, vaan on tullut jonkin kolmannen osapuolen paketin mukana. Tämä auttaa tekemään päätöksen jatkotoimista. Esimerkiksi kolmannen osapuolen paketin päivittäminen voi auttaa, jos uudemmassa versiossa ei ole kyseistä riippuvuutta, tai jopa suoran riippuvuuden korvaaminen jollakin muulla paketilla.

### [**Show**](https://getcomposer.org/doc/03-cli.md#show-info) **näyttää riippuvuuden tiedot.**

`composer show vendor/paketinnimi` näyttää asennetun riippuvuuden tarkemmat tiedot, muun muassa tarkan asennetun version ja sen riippuvuudet.

## **Lopuksi**

Yhteenvetona voidaan todeta, että Composer on tehokas työkalu, jolla on helppo hallita ja asentaa riippuvuuksia, pitää projektit ajan tasalla ja varmistaa, että kaikki tarvittavat paketit toimivat saumattomasti yhdessä. Edellä kuvaillut komennot, kuten `install`, `update`, `require` ja `remove`, ovat välttämättömiä päivittäiseen työhön. Samalla sellaiset komennot, kuten `outdated`, `audit`, `depends` ja `show`, auttavat kehittäjiä seuraamaan ja hallinnoimaan projektien riippuvuuksia toisellakin tasolla.

Tässä artikkelissa yritin järjestää komennot niiden käyttötiheyden mukaan, mikä on tietysti hyvin subjektiivista eli projekti- ja kehittäjäkohtaista.
