BUT : Installation ou mise à jour de la commande composer
composer est un gestionnaire de dépendance pour les projets php. Il permet de gérer les modules/paquets à installer ou à mettre à jour pour vos projets (exemple laravel, etc).
Sous ubuntu l’installation via apt installe la version 1.x de composer et non pas la version 2.x
Voici un petit script qui va installer (ou mettre à jour) composer :
nano update-composer
#!/bin/bash
#
# Installation ou Mise à Jour de composer
#
# relance automatiquement ce script en mode root si user standard
[ ! $UID -eq 0 ] && echo "Lancement en mode ROOT" && sudo $0 "$@" && exit
echo "Installation de 'composer' v2"
# récupération de la version de composer (0 si non installé)
[ ! "$(command -v composer)" ] && COMPOSER_VERSION=0 || COMPOSER_VERSION=$(composer -V | sed -e "s/version //g" | cut -d " " -f 2 | cut -d "." -f 1)
if [ $COMPOSER_VERSION -eq 2 ]
then
# version 2
echo "composer v2 : pas de mise à jour"
else
# version 1 ou non installée
[ $COMPOSER_VERSION -eq 1 ] && [ -f /usr/bin/composer ] && echo "composer v1 : mise à jour" && mv /usr/bin/composer /usr/bin/composer-v1
# récupération checksum du dernier script
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
then
>&2 echo "ERROR: la checksum de l'installateur est invalide"
rm composer-setup.php
exit 1
fi
echo "composer v2 : installation"
php composer-setup.php --quiet
RESULT=$?
rm composer-setup.php
[ $RESULT -eq 0 ] && echo "composer v2 : installée"
fi
Rendre exécutable le script :
chmod +x update-composer
Puis lancer le script :
./update-composer
Lancement en mode ROOT [sudo] password for bzg: Installation de 'composer' v2 Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes
Si composer existe déjà il va dire qu’il ne faut pas le lancer en mode root, répondre ‘yes’ car composer n’est utilisé ici que pour connaitre sa version
composer sera soit installé ou mis à jour si besoin avec ce script que vous pourrez installer sur tous vos serveurs utilisant laravel, symphony ou tout autre projet utilisant composer