gulp + Node.js 4.x で「terminated by signal SIGSEGV (Address boundary error)」なるエラーを回避した話

備忘録なので、手短に(。-_-。)

El Capitan をクリーンインストールしたついでに Node.js v4.2.1 を導入することにしたのですが、エラーでコケるようになりました。ちなみに、下記環境での話です。

$ node -v
v4.2.1
$ npm -v
3.3.9

ここで任意のタスクを実行すると「グローバルとローカルのバージョンが違うよ」という警告とともに、エラーで処理が止まる状況。

$ gulp
Warning: gulp version mismatch:
Global gulp is 3.9.0
Local gulp is 3.5.6
'gulp' terminated by signal SIGSEGV (Address boundary error)

そこで下記を参考にしたところ、解決することができました。

Gulp not working on Node.js 4.0.x #1252:
https://github.com/gulpjs/gulp/issues/1252

実際にやったこと

$ npm install gulp gulp-util -g
$ npm install gulp gulp-util --save-dev

従来のようにグローバル / ローカルそれぞれに gulp と gulp-util をインストールしていたのが問題のため、一旦削除します。

$ npm uninstall gulp gulp-util -g
$ npm uninstall gulp gulp-util

次に、改めてグローバルに gulp-cli、ローカルに gulp と gulp-util をインストールします。

$ npm install gulp-cli -g
$ npm install gulp gulp-util

これ以降、タスクを実行してもエラーで処理が止まることがなくなりました。