Comment installer Drush, à partir de Github, ainsi que Composer

Photo de profil pour l’utilisateur Patrice Grundmann
Soumis par Patrice Grundmann le
Image-billet-blog
Comment installer Drush, à partir de Github, ainsi que Composer

Drush est un petit utilitaire vous permettant d'installer / désinstaller facilement des modules en ligne de commande, et agir à différents endroits sur la base de donnée comme vider les caches par exemple. Nous allons installer sa toute dernière version automatiquement, plutôt qu'utiliser la solution d'installation manuelle.

sudo su
cd /usr/local/share
apt install git   # installe GIT s'il n'est pas disponible
git clone https://github.com/drush-ops/drush.git drush
ln -s /usr/local/share/drush/drush /usr/local/bin/drush

Pour mettre à jour une installation GIT existante de Drush :

cd /usr/local/share/drush
git pull https://github.com/drush-ops/drush.git master

La dernière version de Drush nécessite à présent Composer :

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
cd drush
composer install

À présent testons si ça fonctionne avec le lien symbolique que nous avions créé plus haut :

drush

Si tout se passe bien, vous devriez voir les commandes proposées par Drush.

Créer des alias pour gérer ses sites

À présent nous devons dire à Drush où sont installés les nouveaux sites.

vim /usr/local/share/drush/aliases.drushrc.php

Collons ce code (appuyez sur i sur votre clavier pour passer en mode insertion) :

 'localhost',
'root' => '/home/siteA/public_html', // This must be a full full path, not a relative one
);
$aliases['siteB'] = array(
'uri'  =>; 'localhost',
'root' => '/home/siteB/public_html', // This must be a full full path, not a relative one
);
$aliases['siteC'] = array(
'uri'  => 'localhost',
'root' => '/home/siteC/public_html', // This must be a full full path, not a relative one
'db-url' => 'mysql://DBUSER:DBPASS@localhost/DBNAME', //this is your new DB that you will have to create before the upgrade
);
$aliases['allsites'] = array('site-list' => array('@siteA','@siteB','@siteC'),);?>

Exemple d'usage

drush @siteA pm-update #Cette commande va updater Drupal ainsi que tous les modules sur le siteA 
drush @allsites pm-update #Cette commande updatera tous les sites listés par l'alias allsites

Dépannage

Si vous obtenez une erreur indiquant que Composer est requis, c'est que vous n'avez pas correctement installé Composer

Unable to load autoload.php. Drush now requires Composer in order to install its depedencies and autoload classes. Please see README.md

Si vous avez cette erreur :

git-remote-https: /usr/local/lib/libz.so.1: no version information available (required by git-remote-https)
git: /usr/local/lib/libz.so.1: no version information available (required by git)

Vous pouvez résoudre le problème avec ces paramètres :

cd /usr/local/directadmin/custombuild
./build update 
vim options.conf

Changez les paramètres par ceci :

#versions of zlib, apr_util and libxml2 (experts only)
zlib=yes
new_zlib=yes
new_xml2=yes

Puis faites ceci :

./build zlib; ./build libxml2; ./build php n

Ça devrait résoudre le problème.

Ce billet est la traduction de cette ressource en anglais

Catégorie

Ajouter un commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les lignes et les paragraphes vont à la ligne automatiquement.