状況
1年くらい放置してたプロジェクトを進めようとnpm runしたら、前は問題なく動いていたのに急にこんな風に怒られちゃいました…。
Error in plugin "gulp-sass"
gulp-sass 5 does not have a default Sass compiler; please set one yourself.
Both the `sass` and `node-sass` packages are permitted.
For example, in your gulpfile:
var sass = require('gulp-sass')(require('sass'));
原因
どうやら2021年7月にgulp-sassがversion 4から5へとメジャーアップデートされた際に、プラグインの読み込み方も変更されたようです。
解決法
エラーでも紹介されている通り、sassの読み込み方を変えます。
まずは npm install --save-dev sass
してsassをインストールします。
その後、gulpfile.jsでのプラグインの読み込み方を次のように書き換えます。
gulpfile.js
// 旧バージョン
const sass = require('gulp-sass');
// 新バージョン
const sass = require('gulp-sass')(require('sass'));