Composer
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
MediaWiki supports Composer 2.x as of MediaWiki 1.35.2 and later. |
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.
Utilizar composer-merge-plugin
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
- Cómo instalar extensiones con Composer
- Cómo añadir bibliotecas externas o extensiones al núcleo de MediaWiki
- Mejores prácticas al crear un composer.json
- Información sobre cómo añadir paquetes a packagist.org
- w:Composer (software)