GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y usar PHP Composer en Debian 11 Bullseye

Composer es un administrador de paquetes a nivel de aplicación para el lenguaje de programación PHP similar a NPM para Node.Js o PIP para Python. Composer proporciona un formato estándar para administrar todas las dependencias del software PHP y las bibliotecas requeridas al descargar todos los paquetes PHP necesarios de su proyecto y administrarlos por usted. Lo utilizan la mayoría de los marcos PHP modernos, como Laravel, Drupal, Magento y Symfony.

En el siguiente tutorial, aprenderá cómo descargar e instalar Composer, junto con algunos aspectos básicos sobre cómo trabajar con Composer en Debian 11 Bullseye.

Requisitos

  • SO recomendado: Diana de Debian 11
  • Cuenta de usuario: Una cuenta de usuario con privilegios sudo o acceso raíz (comando su) .
  • Paquetes requeridos: wget, PHP 5.3 o superior

Actualización del sistema operativo

Actualice su Debian 11 sistema operativo para asegurarse de que todos los paquetes existentes estén actualizados:

sudo apt update && sudo apt upgrade

Acceso raíz o Sudo

De forma predeterminada, cuando crea su cuenta al inicio con Debian en comparación con otras distribuciones, no recibe automáticamente el estado de sudoers. Debe tener acceso a la contraseña raíz para usar el comando su o visite nuestro tutorial sobre cómo agregar un usuario a Sudoers en Debian.

Instalar dependencias

Se requieren los siguientes paquetes para descargar composer y para uso futuro. Tenga en cuenta que si usa una versión específica de PHP, deberá ajustar los paquetes de PHP a continuación para adaptarse a la versión. Por ejemplo, la instalación de PHP 8.0 será 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

Instalar PHP Composer

El equipo de Composer ha creado un script PHP oficial para instalar y configurar PHP Composer en su sistema. Puede descargarlo visitando la página de descarga o abriendo su terminal Debian y ejecutando lo siguiente.

Método PHP:

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

Método WGET:

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

Ahora, con setup.php descargado, es hora de instalar composer. Esto puede ser de dos maneras diferentes, una en la que puede instalar composer globalmente, o la segunda alternativa que es instalar por aplicación PHP.

Para instalar globalmente:

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

Para instalar por aplicación:

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

Como se indicó anteriormente, deberá navegar hasta el directorio del proyecto PHP y crear un directorio bin para que se instale el compositor PHP.

Una vez hecho esto, confirme que Composer está instalado y qué compilación y versión es.

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

Ahora prueba la instalación de tu compositor con el siguiente comando:

composer

Ejemplo de salida:

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

Cómo trabajar con PHP Composer

El tutorial le mostrará algunas funciones esenciales cuando se instala PHP composer para probar su funcionamiento.

Primero, crea el directorio de tu proyecto:

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

A continuación, busque un paquete de Packagist, o use alternativamente el ejemplo del tutorial y ejecute el siguiente comando para inicializar un nuevo archivo composer.json e instalar el paquete carbon:

composer require psr/log

Ejemplo de salida:

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

Como se indicó anteriormente, el compositor creará y actualizará automáticamente el archivo composer.json junto con las dependencias requeridas. Alternativamente, puede instalar o degradar paquetes existentes a un número de versión específico.

Ejemplo:

composer require psr/log=1.0

En el directorio del proyecto, puede listar los archivos y directorios dentro de él usando el comando ls :

ls -l

Ejemplo de salida:

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

Un desglose de los términos y los archivos enumerados.

  • compositor.json – Archivo creado para el proyecto y todas las dependencias de PHP.
  • compositor.bloqueo – Archivo que contiene una lista de todos los paquetes y versiones.
  • proveedor – Directorio donde se descargan e instalan las dependencias.

Con su proyecto, es posible que desee o necesite actualizar las dependencias, y esto se puede hacer ejecutando el siguiente comando:

composer update

Ejemplo de salida:

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

Como puede ver arriba, ninguna dependencia requiere actualización. Si lo hubiera, se iniciaría el proceso.

Si ya no necesita el módulo, puede eliminarlo con el comando de eliminación del compositor:

composer remove psr/log

Ejemplo de salida:

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

Al eliminar paquetes, al igual que con la instalación, la eliminación actualizará automáticamente el archivo composer.json. Puedes verificar esto usando el comando cat .

cat composer.json

Ejemplo antes de la eliminación del paquete psr/log:

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

Ejemplo después de la eliminación del paquete psr/log:

{
}

Cómo actualizar PHP Composer

Una característica útil de PHP composer es que puede autoactualizarse a la última versión estable disponible. Ejecute el siguiente comando para actualizar.

composer self-update

Ejemplo de salida:

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

Como se mencionó anteriormente, el compositor de PHP ya está en la última versión. Sin embargo, si hay una actualización disponible, se le pedirá que la actualice.


Debian
  1. Cómo instalar PHP Composer en Debian Linux

  2. Cómo instalar PHP 8.0 en Debian 11

  3. Cómo instalar PHP 8.0 en Debian 10 / Debian 9

  4. Cómo instalar PHP 7.2 en Debian 9

  5. Cómo instalar PHP 7.3 en Debian 10

Cómo instalar y usar PHP Composer en Debian 11

Cómo instalar PHP 8 en Debian 11 Bullseye

Cómo instalar PHP 7.4 en Debian 11 Bullseye

Cómo instalar osTicket en Debian 11 Bullseye

Cómo instalar PHP Composer en Debian 11

Cómo instalar y usar PHP Composer en Debian 11 Linux