この度新しくメインマシンをWindowsからMacに切り替えようとして、新しく一からgulp環境構築した時に出会ったエラーについて書きます。
今回は、Node.js18.12.1のバージョンをインストールしてMacBook Air (macOS Monterey ver12.6)でのお話です。
エラー文(一部抜粋)は以下です。
| 1 2 3 4 | opensslErrorStack: [ 'error:********:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' | 
結論から言うと、下記サイトの記事を参考にして解決しました。
https://zenn.dev/yogarasu/articles/425732ff408d06
上記サイトでは、以下のように環境変数を設定して、レガシープロバイダーに戻すことで対処しています。
| 1 | export NODE_OPTIONS=--openssl-legacy-provider | 
 ただ、参考サイトでも言及がありますが、これは暫定的な対処法であって解決策ではないとのこと。
一応私がインストールした「18.12.1」はLTSになっているのでOpen SSL互換エラーが出るライブラリが他になければ、上記サイトのように最終的には環境変数を削除していきたいです。
でも、とりあえずはこれで。
また後で振り返られるように、エラー文の全体と他の参考サイトをもう1つ挙げておきます。
【今回のエラー文】
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [05:58:36] The following tasks did not complete: build, copyImages [05:58:36] Did you forget to signal async completion? node:events:491       throw er; // Unhandled 'error' event       ^ Error: error:0308010C:digital envelope routines::unsupported     at new Hash (node:internal/crypto/hash:71:19)     at Object.createHash (node:crypto:133:10)     at BulkUpdateDecorator.hashFactory (/Users/...(省略).../node_modules/webpack/lib/util/createHash.js:145:18)     at BulkUpdateDecorator.update (/Users/...(省略).../node_modules/webpack/lib/util/createHash.js:46:50)     at RawSource.updateHash (/Users/...(省略).../node_modules/webpack-sources/lib/RawSource.js:64:8)     at NormalModule._initBuildHash (/Users/...(省略).../node_modules/webpack/lib/NormalModule.js:868:17)     at handleParseResult (/Users/...(省略).../node_modules/webpack/lib/NormalModule.js:934:10)     at /Users/...(省略).../node_modules/webpack/lib/NormalModule.js:1026:4     at processResult (/Users/...(省略).../node_modules/webpack/lib/NormalModule.js:743:11)     at /Users/...(省略).../node_modules/webpack/lib/NormalModule.js:807:5 Emitted 'error' event on Domain instance at:     at emit (node:internal/process/promises:147:33)     at processPromiseRejections (node:internal/process/promises:283:27)     at process.processTicksAndRejections (node:internal/process/task_queues:96:32) {   opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],   library: 'digital envelope routines',   reason: 'unsupported',   code: 'ERR_OSSL_EVP_UNSUPPORTED' } Node.js v18.12.1 | 
【もう一つ参考にしたサイト記事】
 
         
         
         
         
         
         
         
         
         
  
  
  
  

