ノード:内部/暗号/ハッシュ:71 this[kHandle] = 新しい _Hash(アルゴリズム、xofLen)

エラー現象:
ここに画像の説明を挿入

理由:
これは、node.js のバージョンの問題です。OpenSSL3.0 は、node.js V17 の初期バージョンでリリースされており、OpenSSL3.0 では、許可されるアルゴリズムとキー サイズに厳しい制限が追加されており、これにより、生態系への影響。したがって、以前のプロジェクトは、nodejs V17 以降を使用した後にエラーを報告します。

解決策 1 (推奨)
package.json を変更し、関連するビルド コマンドの前に追加します。

SET NODE_OPTIONS=--openssl-legacy-provider 

これは一度だけ行うことができ、将来的には npm を介してスクリプト内のコマンドを直接実行できます。プロジェクトの反復でもチーム開発でも、これはより効果的です。

解決策 2
プロジェクトを開始して start コマンドを入力するたびに、まずコマンド ラインに SET NODE_OPTIONS=–openssl-legacy-provider と入力し、Enter キーを押してから、npm start コマンド npm start を入力します。

NODE_OPTIONS=--openssl-legacy-provider
npm run serve

このアプローチは、実行するたびにSET NODE_OPTIONS=–openssl-legacy-providerを入力して、nodejs に最新の SSL3.0 を使用しないように、または古いバージョンを使用するように指示することです。

解決策 3
は、nodejs バージョンをバージョン 16 にロールバックして、直接実行できるようにすることです。
https://nodejs.org/download/release/v16.20.0/

おすすめ

転載: blog.csdn.net/weixin_47818125/article/details/131975219