Problème:
Erreur de segmentation (core dumped)
au lancement de la commande Drush permettant de vider les caches.
1 2 |
[ root@13466c2bc56d:/home/intlangf/drupal/roederer-drupal ]$ drush cc all Erreur de segmentation (core dumped) |
Solution:
Il s’agit en fait d’un conflit entre Drupal7 et Npm. Drupal7 stocke des informations relatives au thème dans un fichier *.info. Certains paquets Npm ont également des fichiers *.info. Lorsque Drush vide les caches, il parcourt l’arborescence projet à la recherche de fichiers *.info et ne sait pas faire la différence entre ceux de Drupal7 et ceux des modules Npm (généralement stockés dans un dossier node_modules au même niveau d’arborescence que le fichier package.json.
La solution est ici, sous Important: Preventing segmentation fault. J’avais, en premier lieu, tenté cette technique à peu près similaire, mais les fichiers *.info présents dans les paquets Npm ne s’effaçaient pas (problème de droits ?).
Dans votre package.json
, ajouter les lignes suivantes :
1 2 3 |
"scripts": { "postinstall": "find node_modules/ -name '*.info' -type f -delete" }, |
Créez également un fichier .npmrc
avec un formatage « Unix » (Dans Sublime Text 3: View > Line endings > Unix) qui contient le code suivant :
1 |
unsafe-perm = true |
Si les fichiers *.info ne se suppriment pas avec cette méthode :
Vous pouvez toujours le faire à la main depuis le shell :
1 2 3 |
$ cd node_modules $ find . -type f -iname *.info -delete $ cd .. |