🔥

Nodeバージョン時のエラー

2024/01/14に公開

はじめに

自身で作成しているPFをWebブラウザ上で表示するためにテストデプロイを
行っていたのですが、error:0308010C:digital envelope routines::unsupported
このエラーに何度も阻まれ昨日今日で2時間ほど奪われました。。。(自分が理解してないだけ。)
といったわけで今回この解決法をまとめておきます。

バージョン確認

EC2上でNodeのバージョンを最新にしたのですが、Cloud9上ではなぜかバージョンが変更できませんでした。
確認の方法はEC2上でも、Cloud9上でもnode -vで確認できます。

解決方法

以下のコードをターミナル上で実行すればバージョンが異なった場合でもいけるみたいです。

[ec2-user@ip-xx-xx-xx-xx GitHubのリポジトリ名]$ echo 'export NODE_OPTIONS=--openssl-legacy-provider' >> ~/.bashrc
[ec2-user@ip-xx-xx-xx-xx GitHubのリポジトリ名]$ source ~/.bashrc

このコードは、bashシェルの環境変数を設定するためのものです。
まず、echo 'export NODE_OPTIONS=--openssl-legacy-provider' >> ~/.bashrcというコマンドが実行されます。
これは、NODE_OPTIONSという環境変数に--openssl-legacy-providerという値を関連付ける設定を.bashrcファイルに追加します。
>>は、ファイルに内容を追記することを意味します。

次に、source ~/.bashrcというコマンドが実行されます。
これは、.bashrcファイルを読み込んで現在のシェルセッションに変更を反映させるためのコマンドです。

このコードの目的は、NODE_OPTIONSという環境変数の設定を有効にすることです。
NODE_OPTIONSは、Node.jsというプログラミング言語の実行環境で使用される環境変数で
--openssl-legacy-providerという値を設定することで、古いバージョンのOpenSSL暗号ライブラリを使用するように指定します。

Discussion