Come installare e utilizzare PHP Composer su Debian 11 Bullseye

Composer è un gestore di pacchetti a livello di applicazione per il linguaggio di programmazione PHP simile a NPM per Node.Js o PIP per Python. Composer fornisce un formato standard per la gestione di tutte le dipendenze del software PHP e delle librerie richieste scaricando tutti i pacchetti PHP richiesti del tuo progetto e gestendoli per te. È utilizzato dalla maggior parte dei framework PHP moderni come Laravel, Drupal, Magento e Symfony.

Nel seguente tutorial imparerai come scaricare e installare il compositore, insieme ad alcuni elementi essenziali su come lavorare con il compositore su Debian 11 Bullseye.

Prerequisiti

  • Sistema operativo consigliato: Debian 11 Bullseye
  • Account utente: Un account utente con privilegi sudo or accesso root (comando su).
  • Pacchetti richiesti: wget, PHP 5.3 o successivo

Aggiornamento del sistema operativo

Aggiorna il tuo Debian 11 sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:

sudo apt update && sudo apt upgrade

Accesso root o sudo

Per impostazione predefinita, quando crei il tuo account all'avvio con Debian rispetto ad altre distribuzioni, non riceve automaticamente lo stato di sudoers. Devi avere accesso a password di root usare il comando su o visita il nostro tutorial su Come aggiungere un utente a Sudoers su Debian.


pubblicità


Installa dipendenze

I seguenti pacchetti sono necessari per scaricare il compositore e per un uso futuro. Nota, se si utilizza una versione specifica di PHP, sarà necessario modificare i pacchetti PHP di seguito per adattarli alla versione. Ad esempio, l'installazione di PHP 8.0 sarà 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

Installa PHP Composer

Il team di Composer ha creato uno script PHP ufficiale per installare e configurare PHP Composer sul tuo sistema. Puoi scaricarlo visitando il pagina di download o aprendo il terminale Debian ed eseguendo quanto segue.

Metodo PHP:

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

Metodo WGET:

wget -O composer-setup.php https://getcomposer.org/installer

Ora che il file setup.php è stato scaricato, è il momento di installare il compositore. Questo può essere in due modi diversi, uno in cui è possibile installare il compositore a livello globale, o la seconda alternativa che consiste nell'installare la base dell'applicazione PHP.

Per installare globalmente:

php composer-setup.php --install-dir=/usr/local/bin --filename=composer
chmod +x /usr/local/bin/composer

Per installare per applicazione:

cd /example-project/php-application && mkdir -p bin 
php composer-setup.php --install-dir=bin --filename=composer
chmod +x bin/composer

Come sopra, dovrai accedere alla directory del progetto PHP e creare una directory bin per l'installazione del compositore PHP.

Una volta fatto, conferma che il compositore è installato e quale build e versione è.

composer --version
Composer version 2.1.8 2021-09-15 13:55:14

Ora prova l'installazione del tuo compositore con il seguente comando:

composer

Esempio di output:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
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.

pubblicità


Come lavorare con PHP Composer

Il tutorial ti mostrerà alcune funzioni essenziali quando viene installato il compositore PHP per testarne il funzionamento.

Innanzitutto, crea la directory del tuo progetto:

mkdir ~/composer-test
cd ~/composer-test

Quindi, trova un pacchetto da Packagist, o in alternativa usa l'esempio del tutorial ed esegui il comando seguente per inizializzare un nuovo file composer.json e installare il pacchetto carbon:

composer require psr/log

Esempio di output:

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

Come sopra, il compositore creerà e aggiornerà automaticamente il file composer.json insieme alle dipendenze richieste. In alternativa, è possibile installare e/o eseguire il downgrade dei pacchetti esistenti a un numero di versione specifico.

Esempio:

composer require psr/log=1.0

Nella directory del progetto, puoi elencare i file e le directory al suo interno usando il pulsante ls comando:

ls -l

Esempio di output:

./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

Una ripartizione dei termini e dei file elencati.

  • compositore.json – File creato per il progetto e tutte le dipendenze PHP.
  • compositore.lock – File contenente l'elenco di tutti i pacchetti e le versioni.
  • venditore – Directory in cui vengono scaricate e installate le dipendenze.

Con il tuo progetto, potresti voler o richiedere di aggiornare le dipendenze e questo può essere fatto eseguendo il seguente comando:

composer update

Esempio di output:

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

Come puoi vedere sopra, nessuna dipendenza richiede l'aggiornamento. Se ci fosse, il processo inizierebbe.

Se non hai più bisogno del modulo, puoi rimuoverlo con il comando di rimozione del compositore:

composer remove psr/log

Esempio di output:

./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

Quando si rimuovono i pacchetti, come con l'installazione, la rimozione aggiornerà automaticamente il file composer.json. Puoi verificarlo usando il comando del gatto.

cat composer.json

Esempio prima della rimozione del pacchetto psr/log:

{
    "require": {
        "psr/log": "1.0"
    }
}

Esempio dopo la rimozione del pacchetto psr/log:

{
}

Come aggiornare PHP Composer

Una caratteristica utile del compositore PHP è che può aggiornarsi automaticamente all'ultima versione stabile disponibile. Eseguire il seguente comando per aggiornare.

composer self-update

Esempio di output:

You are already using the latest available Composer version 2.1.8 (stable channel).

Come accennato in precedenza, il compositore PHP è già all'ultima versione. Tuttavia, se è disponibile un aggiornamento, verrà richiesto di eseguire l'aggiornamento.


pubblicità


Commenti e Conclusione

Hai imparato come installare il compositore PHP sul tuo sistema Debian 11 Bullseye e alcune funzioni nel tutorial. Nel complesso, il compositore è uno strumento piuttosto popolare e senza dubbio lo incontrerai come sviluppatore. Uno dei migliori vantaggi di avere un compositore è che si occupa delle dipendenze PHP in base al progetto. Puoi avere più progetti sulla stessa macchina che dipendono dall'avere diverse versioni di PHP installate.

Lascia un tuo commento