## 事象
[[webpack4]] (v4.46.0) と [[Node.js]]のv18でビルドすると以下のエラーが出る。
```
node:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at module.exports (C:\Users\syoum\git\github.com\tadashi-aikawa\togowl\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (C:\Users\syoum\git\github.com\tadashi-aikawa\togowl\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (C:\Users\syoum\git\github.com\tadashi-aikawa\togowl\node_modules\webpack\lib\NormalModule.js:471:10)
at C:\Users\syoum\git\github.com\tadashi-aikawa\togowl\node_modules\webpack\lib\NormalModule.js:503:5
at C:\Users\syoum\git\github.com\tadashi-aikawa\togowl\node_modules\webpack\lib\NormalModule.js:358:12
at C:\Users\syoum\git\github.com\tadashi-aikawa\togowl\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (C:\Users\syoum\git\github.com\tadashi-aikawa\togowl\node_modules\webpack\node_modules\loader-runner\lib\LoaderRunner.js:214:10
```
## 原因
#todo ([[OpenSSL]]のバージョンが古い?)
## 解決方法
[[webpack5]]にアップデートする。もしそれができない場合は以下の回避策がある。
- [[Node.js]]のバージョンを16以下に下げる
- `NODE_OPTIONS=--openssl-legacy-provider` オプションを指定する
## 参考
- [nodejs 17: digital envelope routines::unsupported · Issue \#14532 · webpack/webpack](https://github.com/webpack/webpack/issues/14532)