<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Gulp_%D0%B8_Drupal</id>
	<title>Gulp и Drupal - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zina.run/index.php?action=history&amp;feed=atom&amp;title=Gulp_%D0%B8_Drupal"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Gulp_%D0%B8_Drupal&amp;action=history"/>
	<updated>2026-10-12T09:33:15Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://mediawiki.zina.run/index.php?title=Gulp_%D0%B8_Drupal&amp;diff=555&amp;oldid=prev</id>
		<title>&gt;WikiSysop в 18:27, 24 січня 2016</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zina.run/index.php?title=Gulp_%D0%B8_Drupal&amp;diff=555&amp;oldid=prev"/>
		<updated>2016-01-24T18:27:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Сначала установите и настройте [[Gulp]].&lt;br /&gt;
&lt;br /&gt;
=== Интеграция Browsersync с Drupal ===&lt;br /&gt;
&lt;br /&gt;
Установите в Drupal модуль &amp;lt;code&amp;gt;browsersync&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
drush en browsersync -y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Откройте в админке Drupal &amp;lt;code&amp;gt;admin/appearance/settings/ВАША_ТЕМА&amp;lt;/code&amp;gt; и в секциии «Browsersync settings» настройте:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[✓]&amp;#039;&amp;#039;&amp;#039; Enable Browsersync&lt;br /&gt;
&lt;br /&gt;
* Host: &amp;#039;&amp;#039;&amp;#039;ВАШ_ДОМЕН&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Port: &amp;#039;&amp;#039;&amp;#039;3000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая очистка кэша Drupal ===&lt;br /&gt;
&lt;br /&gt;
Установите плагин &amp;lt;code&amp;gt;gulp-shell&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install gulp-shell --save-dev&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В &amp;lt;code&amp;gt;gulpfile.js&amp;lt;/code&amp;gt; добавьте задачу, которая будет очищать кэш Drupal. &lt;br /&gt;
&lt;br /&gt;
Затем эту задачу можно вызывать из других задач, например, при перегенерации Sass в CSS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// Clear all caches&lt;br /&gt;
gulp.task(&amp;#039;clearcache&amp;#039;, function() {&lt;br /&gt;
  return shell.task([&amp;#039;drush cc all&amp;#039;]);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Исправление ошибки Drush &amp;#039;segmentation fault&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
Из-за того, что в папке &amp;lt;code&amp;gt;node_modules&amp;lt;/code&amp;gt;, в которой Gulp сохраняет файлы плагинов проекта, встречаются файлы &amp;lt;code&amp;gt;.info&amp;lt;/code&amp;gt;, Drush воспринимает их как файлы модулей Drupal, находит в них несоответствие синтаксиса и выдает ошибку &amp;#039;segmentation fault&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Чтобы это исправить, просто будем автоматически удалять все файлы &amp;lt;code&amp;gt;.info&amp;lt;/code&amp;gt; в папке &amp;lt;code&amp;gt;node_modules&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Откройте файл &amp;lt;code&amp;gt;package.json&amp;lt;/code&amp;gt;, перейдите к секции &amp;lt;code&amp;gt;&amp;quot;scripts&amp;quot;:&amp;lt;/code&amp;gt; и замените строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;test&amp;quot;: &amp;quot;echo \&amp;quot;Error: no test specified\&amp;quot; &amp;amp;&amp;amp; exit 1&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
на следующую:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;postinstall&amp;quot;: &amp;quot;find node_modules/ -name &amp;#039;*.info&amp;#039; -type f -delete&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создайте в папке темы (там же, где находится файл &amp;lt;code&amp;gt;package.json&amp;lt;/code&amp;gt;) файл &amp;lt;code&amp;gt;.npmrc&amp;lt;/code&amp;gt; и добавьте в него строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
unsafe-perm = true&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также папку папку &amp;lt;code&amp;gt;node_modules&amp;lt;/code&amp;gt; можно очищать от файлов &amp;lt;code&amp;gt;.info&amp;lt;/code&amp;gt; с помощью скрипта [http://dannyenglander.com/blog/drupal-drush-segmentation-fault-11-error-avoiding-rabbit-hole npm_post.sh]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
find -L ./node_modules -type f -name &amp;quot;*.info&amp;quot; -print0 | while IFS= read -r -d &amp;#039;&amp;#039; FNAME; do&lt;br /&gt;
    mv -- &amp;quot;$FNAME&amp;quot; &amp;quot;${FNAME%.info}.inf0&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этот скрипт нужно запускать после добавления в Gulp новых плагинов с помощью команды &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;См. также: [http://drupal.stackexchange.com/questions/126880/how-do-i-prevent-drupal-raising-a-segmentation-fault-when-using-a-node-js-themin How do I prevent Drupal raising a segmentation fault when using a Node.js theming workflow?]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Выполните команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
npm install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эту команду нужно запускать, когда в файл &amp;lt;code&amp;gt;package.json&amp;lt;/code&amp;gt; добавляются новые плагины.&lt;br /&gt;
&lt;br /&gt;
Папка &amp;lt;code&amp;gt;node_modules&amp;lt;/code&amp;gt; с плагинами может быть довольно большого размера — десятки мегабайт, поэтому ее нужно исключать при использовании git и во время создания резервных копий.&lt;br /&gt;
&lt;br /&gt;
Чтобы исключить папку &amp;lt;code&amp;gt;node_modules&amp;lt;/code&amp;gt; из git, нужно создать файл &amp;lt;code&amp;gt;.gitignore&amp;lt;/code&amp;gt;, в который добавить строку:&lt;br /&gt;
&lt;br /&gt;
 node_modules/&lt;br /&gt;
&lt;br /&gt;
Чтобы исключить папку &amp;lt;code&amp;gt;node_modules&amp;lt;/code&amp;gt; из архива при создании резервной копии, нужно использовать параметр &amp;#039;&amp;#039;exclude&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
--tar-options=&amp;quot;--exclude=%themes/*/node_modules&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Соответственно, если проект будет клонироваться из git или восстанавливаться из резервной копии, будет необходимо запускать команду &amp;lt;code&amp;gt;npm install&amp;lt;/code&amp;gt;, чтобы были снова установлены все компоненты Gulp.&lt;/div&gt;</summary>
		<author><name>&gt;WikiSysop</name></author>
	</entry>
</feed>