Jump to content

Composer

From mediawiki.org
This page is a translated version of the page Composer and the translation is 50% complete.
Outdated translations are marked like this.

Composer es un gestor de dependencias para bibliotecas de PHP. A partir de la versión MediaWiki 1.25 de MediaWiki, las dependencias de bibliotecas externas del núcleo están siendo gestionadas con "Composer". Además, puede emplearse para la instalación de extensiones MediaWiki (disponibles desde MediaWiki 1.22 ). However this is currently not well supported. This may change in the future.

Instalar Composer

En Unix/Linux y macOS

Hay diferentes maneras de utilizar Composer, además de la más sencilla, sudo apt install composer:

Only Composer 1.x is supported by MediaWiki 1.31, 1.35.0 and 1.35.1. Descargar la última versión estable:

wget -cO - https://getcomposer.org/composer-1.phar > composer.phar

Composer 2.x and Composer 1.x are supported by MediaWiki >= 1.35.2 (along with the REL1_36 branch and master). To grab the latest Composer 2.x stable release:

wget -cO - https://getcomposer.org/composer-2.phar > composer.phar

Los usuarios de OS X pueden utilizar Homebrew para instalar Composer: Note this will install version Composer 2.x, so depending on the version of MediaWiki you are using, you may need to follow the wget instructions above instead to download Composer 1.x. To install using brew:

brew install composer

Si esto no funciona o no tienes Homebrew instalado, puedes intentar lo siguiente:

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

Jenkins y el distribuidor de extensiones usan la copia de Composer almacenada en el repositorio git "integration/composer".

Una vez Composer esté instalado, puedes ejecutar comando por medio del phar descargado.

php composer.phar someCommand

Puedes querer mover el phar a tu PATH para que pueda ser utilizado como un ejecutable normal:

mv composer.phar /usr/local/bin/composer
composer someCommand

Si el comando mv falla debido a permisos, ejecútalo de nuevo con sudo.

sudo mv composer.phar /usr/local/bin/composer
composer someCommand

En Windows

Descárgalo e inicia el instalador desde la página de descargas Si prefieres la instalación manual puedes seguir los pasos de arriba, con la excepción de que Windows no tiene wget ni APT ni Homebrew por defecto y que no está el directorio /usr/local/bin. In these cases, you can just download composer-1.phar in your web browser and then rename it to composer.phar.

Local installation

You're not out of luck if you don't have permissions to run Composer on the server. It is also possible to download the MediaWiki folder to your local machine, install and run Composer, and transfer the files back to the server.

Upgrading Composer

Composer 1.x

If you want to upgrade Composer to the latest 1.x stable (or downgrade from 2.x stable), you can use:

composer self-update --1

If the update command fails due to permissions, execute it again with sudo.

sudo composer self-update --1

If you are on a really old version of composer, it may not have the --1 parameter. In this case, you might want to run self-update twice. The first may update it to 2.x, so the second will downgrade it to the latest version of 1.x.

composer self-update
composer self-update --1

Composer 2.x

If you are using Composer 1.x, and want to upgrade to Composer 2.x (and are using an appropriate version of MediaWiki, such as >= 1.35.2), you can use:

composer self-update --2

If the update command fails due to permissions, execute it again with sudo.

sudo composer self-update --2

Uso en el núcleo de MediaWiki

MediaWiki 1.25+ depende de algunas bibliotecas externas que son gestionadas con Composer. Composer crea un autocargador en vendor/autoload.php, que es incluido por WebStart.php.

Las dependencias gestionadas de Composer son empaquetados en distribuciones de archivos comprimidos de MediaWiki y extensiones, por lo que los administradores del sistema no necesitan utilizar Composer directamente. Cuando instalas MediaWiki utilizando Git las dependencias declaradas en el $IP/composer.json pueden ser instaladas localmente ejecutando composer update --no-dev o el repositorio mediawiki/vendor.git puede ser clonado para proporcionar las mismas bibliotecas utilizadas en el cluster de producción de Wikimedia.

$IP son las siglas de Installation Path, es decir, la ruta o directorio donde se ha instalado MediaWiki, el mismo directorio que contiene LocalSettings.php , index.php , etc..


Utilizar composer-merge-plugin

$IP son las siglas de Installation Path, es decir, la ruta o directorio donde se ha instalado MediaWiki, el mismo directorio que contiene LocalSettings.php , index.php , etc..

El núcleo de MediaWiki "posee" $IP/composer.json y cambiará el contenido de ese archivo en los archivos comprimidos y en las actualizaciones gestionadas con Git. Se ha desarrollado un plugin especial para Composer, composer-merge-plugin, que permite a las instalaciones locales utilizar Composer para cargar bibliotecas opcionales o gestionar extensiones con Composer.[1] Este plugin y la configuración composer.json del núcleo de MediaWiki permiten un despliegue local para añadir extensiones requeridas y bibliotecas a un archivo composer.local.json dentro del directorio raíz de MediaWiki.

composer.local.json también puede ser utilizado para instalar bibliotecas gestionadas con Composer y que son necesarias por extensiones que no están instaladas utilizando Composer. Esto solo se necesita cuando las extensiones no están instaladas a partir de archivos comprimidos generados por el distribuidor de extensiones.

Para activar Composer para descubrir y procesar los archivos composer.json que pueden ser incluidos en cualquiera de y en todas tu extensiones instaladas localmente, añade algo como esto a tu $IP/composer.local.json:

{
    "extra": {
        "merge-plugin": {
            "include": [
                "extensions/*/composer.json",
                "skins/*/composer.json"
            ]
        }
    }
}

Después de cualquier cambio a composer.local.json necesitas eliminar $2 antes de iniciar composer update de nuevo. De esta manera Composer recalculará que las dependencias y los cambios tengan efecto.

Recursos

Referencias