目次
エラーはこんな感じ
$ gulp styles
Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (111)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
at module.exports (www\understrap-child\node_modules\node-sass\lib\binding.js:13:13)
at Object. (www\understrap-child\node_modules\node-sass\lib\index.js:14:35)
at Module._compile (node:internal/modules/cjs/loader:1159:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Module._load (node:internal/modules/cjs/loader:878:12)
at Module.require (node:internal/modules/cjs/loader:1061:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object. (www\understrap-child\node_modules\gulp-sass\index.js:166:21)
at Module._compile (node:internal/modules/cjs/loader:1159:14)
なんか知らんけど「お前のOSサポートしてないかんな」といわれてます。どういうことなんや……とりあえず、エラーメッセージ内で「https://github.com/sass/node-sass/releases/tag/v4.14.1」を見ろっていわれてるので見ましょう。
Windows 64bitは……「Node 14」までしか対応してませんね。マジか。
Nodejsを一時的にダウングレードしましょう
仕方がないのでNodejsのバージョンを一時的に14.xに変更します。複数のバージョンを切り替えられるnvmを使うと楽です。Node.jsの管理ツール、nvmをインストールする – CLOVER🍀
nvmインストール後は、こんな感じ。
あ、その前にここでポイントが2つあります。
1. nvmコマンドは管理者権限で実行しましょう
普通に実行するとexit status 5
っていうエラーが出ます。これを回避するには管理者権限で実行する必要があります。ターミナルを管理者権限で起動しましょう。Windows ターミナル FAQ | Microsoft Learn
2. nodejsディレクトリがあったら削除しておきましょう
- C:\Program Files\nodejs
- C:\Program Files (x86)\nodejs
いずれかがあると
exit status 145
というエラーが出ます。削除しておきましょう。nvm useでexit status 145になった時の解決方法 – kdnakt blog
改めてダウングレード
# nvm install 14
# nvm use 14.20.1
# gulp styles
# nvm use 19.0.0
コマンドの意味は、
- Nodejs 14系をインストールする
- Nodejs 14.20.1 に切り替える
- CSSをコンパイル
- Nodejs 19.0.0 に切り替える(最新バージョンに戻す)
これで無事、CSSのコンパイルが出来ました。良かった良かった。
ちなみに最新バージョンでも
いつもこれだとしんどいなと思ってnode-sassの最新バージョンを見てみたんですけど、対応状況はこんな感じでした。17までしか対応してねーーーーまあ仕方ないですね。nvmがあって良かった。