gulpのインストール失敗【結論】nodeのバージョンです



gulpインストール時のエラーについてです。
<h1>環境</h1>

```
OS
Mac OS
```
```
node -v
16.18.0
```
```
npm -v
6.14.10
```

<h2>gulpのインストール</h2>

グローバルにgulpをインストール
```
npm install –global gulp-cli
```
```
gulp –version
CLI version: 2.2.0
Local version: Unknown
````

ローカルでインストールする必要があるので、下記コマンドを入力したところ、エラーが発生

```
npm install gulp-sass --save-dev
```
```エラーログ  
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm ERR! code 1
npm ERR! path /Users/satouyoshiyuki/practice/sass-pra/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c -- node scripts/build.js
npm ERR! Building: /Users/satouyoshiyuki/.nodenv/versions/16.18.0/bin/node /Users/satouyoshiyuki/practice/sass-pra/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   '/Users/satouyoshiyuki/.nodenv/versions/16.18.0/bin/node',
npm ERR! gyp verb cli   '/Users/satouyoshiyuki/practice/sass-pra/node_modules/node-gyp/bin/node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@16.18.0 | darwin | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:202:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:202:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:202:21)
npm ERR! gyp verb `which` failed  python Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:202:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp ERR! configure error 
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (/Users/satouyoshiyuki/practice/sass-pra/node_modules/node-gyp/lib/configure.js:484:19)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (/Users/satouyoshiyuki/practice/sass-pra/node_modules/node-gyp/lib/configure.js:406:16)
npm ERR! gyp ERR! stack     at F (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:68:16)
npm ERR! gyp ERR! stack     at E (/Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:80:29)
npm ERR! gyp ERR! stack     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/which/which.js:89:16
npm ERR! gyp ERR! stack     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/index.js:42:5
npm ERR! gyp ERR! stack     at /Users/satouyoshiyuki/practice/sass-pra/node_modules/isexe/mode.js:8:5
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:202:21)
npm ERR! gyp ERR! System Darwin 21.6.0
npm ERR! gyp ERR! command "/Users/satouyoshiyuki/.nodenv/versions/16.18.0/bin/node" "/Users/satouyoshiyuki/practice/sass-pra/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /Users/satouyoshiyuki/practice/sass-pra/node_modules/node-sass
npm ERR! gyp ERR! node -v v16.18.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok 
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/satouyoshiyuki/.npm/_logs/2022-10-21T16_19_28_234Z-debug-0.log
```

<h2>原因、解決策</h2>
nodeのバージョンが原因のようでした。<br/>
ダウングレードしたところ解決できました。

僕はnodenvを使っているので、
```
nodenv install 14.15.4
nodenv local 14.15.4
npm install gulp-sass --save-dev
```

でうまくいきました。
<h2>参考</h2>
<a href="https://qiita.com/aki0923f/items/150882597ea112a2418c">2021年、gulp-sassをインストールしようとして躓いた</a>