エラー「Node Sass does not yet support your current environment」の解決方法

gulpが動かない。久しぶりにgulpを動かしてみたら、nodeエラーが出てコンパイルできない。
原因は、nodeのバージョンが対応していなかったこと。バージョンを変更することで無事解決。
今回はその手順を紹介していきたいと思います。

#【エラー文】「node-sassはあなたの開発環境をサポートしていない」
![terminal01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/a78ccbbd-64e8-7035-9778-b0af33fd1704.png)
> **Node Sass does not yet support your current environment**
とは、「Node Sassは、現在のあなたの開発環境をサポートしていない」ということ。

「詳しくはGithubを確認するよう」にとあるので、その下のGithubのリンクをクリックしてみる。
[https://github.com/sass/node-sass/releases/tag/v4.14.1](https://github.com/sass/node-sass/releases/tag/v4.14.1)
 
##【確認】node-sassが使用可能なnodeのバージョンをチェック
![node-sass.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/7558d5cb-1bd1-4d48-da83-00f4ea10cf18.png)

まずは、現状確認。それぞれのOSでnodeの対応バージョンが違うので、自分の環境でどのnodeのバージョンまで使用できるのかを、まずここで確認する。

私の場合は、**Windows 64-bitなので、nodeのバージョンは、現在14まで対応している**、とある。（2021年11月現在）


##【原因判明】自分の開発環境のNode.jsのバージョンを確認したら対応外だった
![terminal02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/34aba331-3bed-0f0b-0071-da819e3e03a2.png)
インストールしてNode.jsのバージョンを確認するには、コマンドで「`node --version`」または「`node -v`」と打ちます。

私の場合、v16.13.0
つまりバージョン16がインストールされているということでした。
node-sassがサポートしてるのは、先ほどGithubで確認したところバージョン14まで。

ということで、gulpでタスクを動かした際にnode-sassが動かず、エラーがかえってきていたのです。原因判明しました。
私の場合、node.jsをダウングレードしなくてはいけません。

#【対処】nvmを使ってnode.jsのバージョンを切り替える
ここから下は、私の環境においてやったnodeのダウングレードの方法を紹介します。
nvmをインストールしている人に向けた情報になります。
それ以外の方は、他の方法でnodeのバージョンを変更してください。

では、私の場合はnvmをインストールしているので、それを使ってnode.jsのバージョンを切り替えます。
**nvmとは、Node.jsの管理ツールで、インストールした複数のNodeのバージョンを切り替えたりできる便利なツールです。**


▼nvm(Node Version Manager)の公式Githubはこちら
[https://github.com/coreybutler/nvm-windows](https://github.com/coreybutler/nvm-windows)


「複数のnodeバージョンを保持し、案件毎にバージョンを切り替えることができるのでオススメ」ということを聞き、先日インストールしたところでした。
その際、最新のnodeに更新してしまったのが原因で今回gulpが動かなくなってしまったようです。

## nvmで複数のnodeのバージョンを管理しているので、インストールしている全バージョンを表示させる
![nvm01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/b3ac9fc0-b75c-caad-f829-09168b8f3aa8.png)
コマンド「`nvm list`」で、今現在、インストールしているnodeを表示させます。

*16.13.0 (Currently using 64-bit executable)
 14.15.4

2つインストールしているうち、アスタリスクがついている「バージョン16」を現在使用中とのことです。
他に14がインストールされているので、こちらに切り替えれば、gulpが元のように正常に動くはずです。


## nvmでエラー発生 exit status 5:文字化け
では、nvmのコマンドで切り替えます。nodeバージョンを16から14に切り替えるので
コマンド「`nvm use 14.15.4`」
![nvm02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/3b48d449-d0a0-64ad-7b83-69c773e8ab55.png)
エラー発生です。しかも文字化けしていて、何のエラーかわかりません！！
結論からいうと、「管理者権限がありません」ということ。
やり直しです。

##管理者権限でnodeのバージョンを切り替えます
###管理者権限でターミナルを起動
![terminal03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/848f3759-451f-9b01-275d-ffe81f1d3501.png)

「管理者として実行」を選び、ターミナルを「管理者権限」で起動しなおします。
![コマンド管理者.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/cb5a785a-ebde-0b0b-4c3b-e1298eeb1859.png)
コマンド「`nvm list`」を入れて、もう一度インストールしている全node.jsのリストを表示させます。


###管理者権限でnodeのバージョンを切り替えます

![コマンド管理者02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/a11f395c-563d-79bc-cd41-1b23f53da9c8.png)
では、今回は管理者権限があるのでそのままコマンド「`nvm use 14.15.4`」と入れます。14と数字のところは各自切り替えたいバージョンを入れてください。
**Now using node v14.15.4(64-bit)**と出ました。うまく切り替えられたようです。

###nodeのバージョン確認する
では、念のため確認してみます。
Node.jsのバージョンを確認するには、コマンドで「`node --version`」または「`node -v`」
![コマンド管理者03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/19b02fb7-b6c5-91b8-a9f6-bb6f51c1e441.png)
v14.15.4と出ました。nodeのバージョン切り替え成功です！

これでエラーが出ていたnode-sassが動くようになり、無事gulpが使えるようになりました。
以上、どなたかの参考になれば嬉しいです。