Nodeバージョン時のエラー
はじめに
自身で作成している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