Síntomas
Algunos comandos drush fallan; Algunas páginas de Drupal están en blanco.
Los comandos drush fallidos informan "Error de segmentación: 11"
El registro de Apache (por ejemplo, php-error.log en MAMP) también muestra el mismo error.
Fondo:
Si usa un flujo de trabajo de trago o gruñido, para compilar el SASS de su tema, etc., puede encontrarse con un problema en el que los comandos drush arrojan un error de segmentación 11 al igual que Apache mientras sirve las páginas de Drupal como espacios en blanco (WSD).
Causa probable
Esto se debe a que los archivos de su grunto de gulpflujo de trabajo en el entorno node_moduleserróneamente están siendo registrados por sí Drupal como un subproducto de drush cache-clear allpor ejemplo. Hay docenas de estos archivos .js y Drupal no puede manejarlos ... posiblemente es una expresión regular de PCRE que es la causa principal, ya que esto se conoce en otros lugares. De todas formas ...
No siempre sucede
No está claro si algunos módulos (como la Sincronización del navegador, por ejemplo) inducen este error ya que un flujo de trabajo de estilo node.js (es decir, tragar o gruñir) puede funcionar perfectamente antes de fallar de esta manera.

drush cc all), lo que aumenta la confusión.Respuestas:
Aquí está la solución que estás buscando. Mucho más elegante y menos trabajo:
Solo una ligera alteración en la respuesta de @ iamcarico anterior.
nota: es posible que necesite un .npmrc con solo el siguiente contenido:
fuente
Entonces, tengo una solución un poco más elegante, que simplemente eliminará los archivos .info después de la instalación de npm. No se necesita ninguno, así que esto debería ser seguro.
Agregue lo siguiente al final de su package.json:
fuente
Esto funciona para mi:
(Con muchas gracias a @jorgegc por identificar la causa en este hilo, ¿pensé que el tema merecía un título más general aquí?)
gulpfile.jsypackage.jsonal nuevo directorio "oculto".npmcd .npmynpm install(después de haber eliminado elnode_modulesdirectorio del nivel raíz del tema, por supuesto)gulpfile.jsdirectorio base para las rutas de los archivos de origen y destino. Por ejemplo, en el fragmento "../" se anteponen a las rutasgulpcomando desde el.npmdirectorioEjemplo de estructura de directorios para el tema ihit
. ├── .editorconfig ├── .git │ ├── HEAD │ ├── ... ├── .gitignore ├── .jshintrc ├── .npm │ ├── gulpfile.js │ ├── node_modules │ └── package.json ├── assets │ ├── images │ ├── js │ └── sass ├── css │ ├── ihit.hacks.css │ └── ihit.styles.css ├── ihit.info ├── ihit.sublime-project ├── ihit.sublime-workspace ├── images │ ├── logo.png │ ├── search-icon.png │ └── sprite.png ├── js │ └── ihit.behaviors.js ├── php │ ├── ihit_breadcrumb.inc │ ├── ihit_form_search_form_alter.inc │ ├── ihit_menu_link.inc │ ├── ihit_menu_tree.inc │ ├── ihit_preprocess_html.inc │ ├── ihit_preprocess_region.inc │ └── ihit_process_page.inc ├── research │ └── Refills ├── screenshot.png ├── template.php └── templates ├── html.tpl.php ├── node--image_gallery.tpl.php ├── node.tpl.php └── page.tpl.phpJefe de gulpfile.js
// project-specific var project = { path: { sass: { source: '../assets/sass/**/*.scss', css_dest: '../css' }, // sass . . .fuente
Puede evitar todo esto instalando sus herramientas de flujo de trabajo en la raíz del sitio Drupal. No escaneará una
node_modulescarpeta de nivel superior .La instalación en el nivel raíz también tiene otros beneficios, como permitirle alinear todo su proyecto de manera uniforme (sus módulos, características y temas personalizados pueden compartir esta configuración de nivel raíz). Que ya ha proporcionado grupo
sites/all/modulesencontribycustomsubdirectorios, puede ignorar fácilmente contrib y otras carpetas de proveedores.fuente
Todavía parece ser un problema y también recibí el siguiente error:
Segmentation fault: 11después de ejecutarnpm install.Yo uso la
gulpversión3.8.11ynodecon la versión0.12.Por lo general (en este caso) el uso
auroracomo tema de base y uso una propiapackage.jsonygulp.jsarchivo. Mipackage.jsonarchivo contiene el script postinstall de iamcarrico :Hmm, en este punto, acabo de reconocer que el script posterior a la instalación es ligeramente diferente, lo que podría haber causado mi error de falla de segmentación. De todas formas.
Lo que hice fue eliminar el
node_modulesdirectorio dentro de mi tema conrm -rf ./node_modules. Despejó el caché con drushdrush cc all. Luego seguí las instrucciones anteriores de iainh ... hasta que no. 3 (3 no incluidos), se ejecutófind node_modules -type f -name '*.info' | xargs rm;dentro de la.npmcarpeta y movió elgulp.js,package.jsony lanode_modulescarpeta un nivel hasta la carpeta del tema original. Podría ejecutargulpsin errores de segmentación e inclusobrowsersyncfuncionó como se esperaba.fuente
Aquí está el problema en drupal.org que aborda este problema, incluido el parche https://www.drupal.org/node/2329453
fuente
mi solución fue en el pasado mover las cosas del nodo dentro de una carpeta oculta como ".npm" por ejemplo.
fuente