2021年7月にgulp-sassのメジャーバージョンが4から5にアップデートされました。gulp-sass 5.0の動作要件はnode.jsバージョン12以上、gulp4です。
node.jsのバージョンは以下のコマンドで確認できます。バージョン12以上が表示されれば問題ありません。
node -v
v14.15.0
gulp及びgulp-sassのバージョンはpackage.json内のdependenciesフィールドに記述があります。gulpのバージョンが4であれば問題ありません。
"dependencies": {
"gulp": "^4.0.2",
"gulp-sass": "^5.0.0"
}
この状態でgulpを起動します。
npx gulp
するとgulp-sassで以下のようなエラーが発生します。
Error in plugin "gulp-sass"
Message:
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'));
gulp-sass 5.0はこれまでの4系と違い、コンパイラにsass(Dart Sass)かnode-sass(LibSass)が必要です。
node-sassはサポートされているものの2020年10月に非推奨となり、今後は新機能が追加されないことが決定しています。そこで、ここではsassをインストールします。
npm install sass
次にエラーメッセージに記述されている通り、gulpfile.jsのgulp-sass読み込み部分でsassも読み込むように変更します。
//gulpfile.js
//変更前
const sass = require('gulp-sass');
↓
//変更後
const sass = require('gulp-sass')(require('sass'));
この状態でgulpを起動するとgulp-sass 5.0が正常に動作します。
なおgulp-sassインストール時に4系のバージョンを指定してインストールすれば、sassのインストールとgulpfile.jsの変更をせずにgulp-sassが使用できます。以下はgulp-sass 4.1.0をインストールしています。
npm install gulp-sass@4.1.0





