Installera Composer för pakethantering med PHP

By . Latest revision .

Composer är en pakethanterare till PHP, eller en Dependency manager som det även kallas. Denna artikel visar hur du installerar composer på din egen maskin.

Uppdaterad artikel finns

Det finns en uppdaterad artikel som visar hur du installerar Composer på din egen maskin. Det rekommenderas att du läser den artikeln istället.

#Översikt av Composer

Läs om Composer på dess webbplats. Där finns instruktioner om hur du kommer igång och mer fylliga manualer som beskriver hur du använder Composer i detalj.

På sidan Download står hur du kommer igång och installerar Composer på din egen maskin. Du använder antingen kommandot curl eller så installerar du med hjälp av PHP från kommandoraden.

Så här ser det ut när jag installerar Composer på studentservern.

#Composer installeras på studentservern

Kommandot curl finns installerat på studentservern, men jag väljer att installera via varianten med PHP CLI. Det lär fungera på alla system som kan köra PHP på kommandoraden.

Först hämtar jag hem installationsfilen för Composer.

php -r "readfile('https://getcomposer.org/installer');" | php

Går det bra ser det ut så här.

$ php -r "readfile('https://getcomposer.org/installer');" | php           
#!/usr/bin/env php                                                                
All settings correct for using Composer                                           
Downloading...                                                                    
                                                                                  
Composer successfully installed to: /home/saxon/teachers/com/mosstud/composer.phar
Use it: php composer.phar                                                         

Nu ligger filen composer.phar i samma katalog där jag står.

$ ls -l composer.phar                                
-rwxr-xr-x 1 mosstud 500 1010563 apr  7 18:01 composer.phar* 

Jag kan testköra Composer så här.

$ php composer.phar

   ______ 
  / ____/___  ____ ___  ____  ____  ________  _____ 
 / /   / __ \/ __  __ \/ __ \/ __ \/ ___/ _ \/ ___/ 
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ 
                    /_/
Composer version 1efa02a7ab43b7fc555dccb7d31294acbc62bbeb 2014-04-07 15:37:10

Usage:
  [options] command [arguments]

Options:
  --help           -h Display this help message.                         
  --quiet          -q Do not output any message.                         
  --verbose        -v|vv|vvv Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug 
  --version        -V Display this application version.           
  --ansi              Force ANSI output.                          
  --no-ansi           Disable ANSI output.
  --no-interaction -n Do not ask any interactive question.     
  --profile           Display timing and memory usage information
  --working-dir    -d If specified, use the given directory as working directory.

Available commands:
  about            Short information about Composer
  archive          Create an archive of this composer package
  config           Set config options 
  create-project   Create new project from a package into given directory.
  depends          Shows which packages depend on the given package
  diagnose         Diagnoses the system to identify common errors.
  dump-autoload    Dumps the autoloader                
  dumpautoload     Dumps the autoloader 
  global           Allows running commands in the global composer dir ($COMPOSER_HOME).
  help             Displays help for a command
  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         Show information about licenses of dependencies
  list             Lists commands                      
  require          Adds required packages to your composer.json and installs them
  run-script       Run the scripts defined in composer.json.
  search           Search for packages                       
  self-update      Updates composer.phar to the latest version.
  selfupdate       Updates composer.phar to the latest version.
  show             Show information about packages        
  status           Show a list of locally modified packages
  update           Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate         Validates a composer.json

Du får fram en manualsida hur du kan använda Composer och dess olika kommandon.

Egentligen är allt klart så här. Nu har du Composer installerat och det är bara att använda genom att skriva php composer.phar i samma katalog som du installerat det.

Composer kommer i ett phar-arkiv. Det är en paketering av ett antal PHP-filer in i en enda fil. På det viset blir det enkelt att distribuera ett PHP-skript som ett vanligt exekverbart kommando.

För min del tänker jag nu flytta Composer till en plats där alla studenter kan komma åt det. Så att var och en inte behöver installera sin egen version av Composer.

Här är stegen som gör detta.

$ cp composer.phar /home/saxon/students/phar/bin/composer                     

$ chmod 755 /home/saxon/students/phar/bin/composer                            

$ ls -l /home/saxon/students/phar/bin/composer                                
-rwxr-xr-x 1 mosstud 500 1010563 apr  7 18:16 /home/saxon/students/phar/bin/composer* 

Jag döper om composer.phar till composer, bara för att det skall vara enklare att skriva det. Lite kortare helt enkelt, som vilket annat kommando som helst.

Nu finns Composer installerat för alla på studentserver. Sökvägen till katalogen /home/saxon/students/phar/bin/ finns med som standard för alla studenter. Du kommer åt kommandot genom att skriva composer vid prompten, oavsett i vilken katalog du står.

Pröva nu att logga in på studentservern och skriv följande.

$ composer

$ which composer
/home/saxon/students/phar/bin/composer 

Ser det bra ut? Då är det bara att börja använda det.

Stegen att installera Composer är samma oavsett din miljö. Det bör fungera på Linux, Unix, Mac och Windows. Se bara till att du har PHP 5.4 eller senare.

Det finns ett foruminlägg för Composer och denna artikel om du vill diskutera, kommentera eller ställa frågor.

#Revision history

  • 2016-10-13: (B, mos) Obsolete och länk till ersättande artikel.
  • 2014-04-07: (A, mos) Första utgåvan i samband med phpmvc version 2.

Document source.

Category: labbmiljo, php.