Gejala:
Beberapa perintah drush gagal; Beberapa halaman Drupal kosong.
Perintah drush yang gagal melaporkan "Segmentasi fault: 11"
Log Apache (mis. Php-error.log di MAMP) juga menunjukkan kesalahan yang sama.
Latar Belakang:
Jika Anda menggunakan alur kerja kasar atau kasar - untuk mengkompilasi SASS tema Anda, dll. - Anda dapat mengalami masalah ketika perintah drush melempar kesalahan segmentasi 11 seperti halnya Apache saat melayani halaman Drupal sebagai blank (WSD).
Kemungkinan penyebab
Ini karena file dari lingkungan alur kerja grunt
atau Anda keliru didaftarkan oleh Drupal sendiri sebagai produk ganda misalnya. Ada lusinan file .js dan Drupal ini tidak dapat menangani mereka ... itu mungkin regre PCRE yang merupakan penyebab utama seperti ini dikenal di tempat lain. Lagi pula ...gulp
node_modules
drush cache-clear all
Itu tidak selalu terjadi
Tidak jelas apakah beberapa modul (seperti Browser Sync misalnya) menginduksi kesalahan ini sebagai gaya node.js (yaitu tegukan atau gerutuan) dapat bekerja dengan sempurna sebelum gagal dengan cara ini.
drush cc all
), menambah kebingungan.Jawaban:
Inilah solusi yang Anda cari. Jauh lebih elegan dan sedikit kerja:
Hanya sedikit perubahan pada jawaban @ iamcarico di atas.
Catatan: Anda mungkin memerlukan .npmrc hanya dengan konten berikut:
sumber
Jadi, saya punya solusi yang sedikit lebih elegan, yang hanya akan menghapus file .info setelah menginstal npm. Tidak ada yang dibutuhkan, jadi ini harus aman.
Tambahkan yang berikut ke akhir package.json Anda:
sumber
Ini bekerja untuk saya:
(Dengan banyak terima kasih kepada @jorgegc untuk mengidentifikasi penyebab di utas ini di saya pikir topik pantas judul yang lebih umum di sini.)
gulpfile.js
danpackage.json
ke direktori "tersembunyi" yang baru.npm
cd .npm
dannpm install
(tentu saja setelah menghapusnode_modules
direktori level root tema tema )gulpfile.js
direktori dasar untuk path file sumber dan tujuan. Dalam snippet di bawah "../" ditambahkan ke pathsgulp
perintah dari dalam.npm
direktoriContoh struktur direktori untuk 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.php
Kepala gulpfile.js
// project-specific var project = { path: { sass: { source: '../assets/sass/**/*.scss', css_dest: '../css' }, // sass . . .
sumber
Anda dapat menghindari semua ini dengan menginstal alat alur kerja Anda di root situs Drupal. Itu tidak akan memindai
node_modules
folder tingkat atas .Menginstal di level root juga memiliki manfaat lain, seperti memungkinkan Anda untuk membasahi seluruh proyek Anda dengan cara yang seragam (modul khusus, Fitur, dan tema Anda dapat membagikan konfigurasi level root ini). Asalkan Anda kelompok
sites/all/modules
ke dalamcontrib
dancustom
subdirektori, Anda dapat dengan mudah mengabaikan sumbangsih dan folder vendor lainnya.sumber
Tampaknya masih menjadi masalah dan saya juga mendapat kesalahan berikut:
Segmentation fault: 11
setelah berjalannpm install
.Saya menggunakan
gulp
versi3.8.11
dannode
dengan versi0.12
.Saya biasanya (dalam hal ini juga) digunakan
aurora
sebagai tema dasar dan menggunakan sendiripackage.json
dangulp.js
berkas. Sayapackage.json
file berisi iamcarrico ini naskah postinstall:Hmm, pada titik ini saya baru tahu bahwa skrip postinstall sedikit berbeda yang mungkin menyebabkan kesalahan kesalahan Segmentasi saya. Bagaimanapun.
Apa yang saya lakukan adalah saya menghapus
node_modules
direktori dalam tema sayarm -rf ./node_modules
. Membersihkan cache dengan drushdrush cc all
. Kemudian saya mengikuti instruksi iainh di atas ... sampai tidak. 3 (3 tidak termasuk), berlarifind node_modules -type f -name '*.info' | xargs rm;
di dalam.npm
folder dan memindahkangulp.js
,package.json
dannode_modules
folder satu tingkat ke folder tema asli. Saya dapat berjalangulp
tanpa kesalahan segmentasi dan bahkanbrowsersync
bekerja seperti yang diharapkan.sumber
Berikut adalah masalah pada drupal.org yang mengatasi masalah ini, termasuk tambalan https://www.drupal.org/node/2329453
sumber
solusi saya adalah di masa lalu untuk memindahkan barang-barang simpul di dalam folder tersembunyi seperti ".npm" misalnya.
sumber