Shopware 6 tiene diferentes mecanismos para instalar extensiones.
En este post veremos cómo instalar una extensión existente en el Marketplace de Shopware
Vamos a tomar como ejemplo la extensión “Shopware Language Pack” disponible para versiones mayores a 6.3.5.0
https://store.shopware.com/en/swag338126230916f/shopware-language-pack.html
Shopware nos permite instalar de 3 maneras
1- Desde el menú “Extensions > Store” del panel de administración de nuestro proyecto
2- Descargando el código de la extensión desde el marketplace
3- Vía composer
Voy a mostrar como utilizar composer que considero es el método profesionalmente más adecuado.
Luego de comprar la extensión vamos a nuestra cuenta en Shopware: https://account.shopware.com/
Usamos el menú “Merchant Area > Shops” para seleccionar el “shop” para el cual hemos comprado la extensión y luego la extensión.



Al presionar el botón “Install via Composer” se nos abre un popup con un formulario
La primera vez debemos generar el token y guardar la información

En ese mismo popup se muestra la información necesaria para el setup y la instalación y se explica cómo proceder.
De momento copiamos la información que vamos a necesitar en los próximos pasos.
En la raíz del proyecto donde vamos a instalar la extensión corremos la siguiente linea que agregará el repositorio de Shopware a nuestro “composer.json“
composer config repositories.shopware-packages '{"type": "composer", "url": "https://packages.shopware.com"}'
Luego agregamos al “auth.json” el token que nos permitirá acreditarnos:
composer config bearer.packages.shopware.com "token-obtenidoen-el-paso-anterior"
Finalmente con…
composer require store.shopware.com/swaglanguagepack
Agregamos la extensión al “composer.json” y automáticamente se correrá el “composer update” y todo lo necesario para que la extensión quede descargada y registrada en nuestro proyecto.
Si bien el proceso se puede completar desde el panel de administración pienso que es mejor si nos acostumbramos a hacerlo desde el terminal.
./bin/console plugin:refresh
Nos mostrara la lista de plugins y sus estados

En el caso de nuestro ejemplo necesitamos “instalarlo” y “activarlo” para completar la operación. Lo haremos con los siguientes comandos
./bin/console plugin:install swaglanguagepack
./bin/console plugin:activate swaglanguagepack
Con esto habremos completado la instalación y si vamos al admin de nuestro proyecto podremos ver que la extensión aparece instalada y activada.

Para terminar dejo la lista completa de comandos relacionados con plugins
plugin:activate Activates given plugins
plugin:create Creates a plugin skeleton
plugin:deactivate Deactivates given plugins
plugin:install Installs given plugins
plugin:list Show a list of available plugins.
plugin:refresh Refreshes the plugins list in the storage from the file system
plugin:uninstall Uninstalls given plugins
plugin:update Updates given plugins
plugin:zip-import Import plugin zip file.