LoginSignup
4
0

Node.js で ERR_OSSL_EVP_UNSUPPORTED と言われた

Last updated at Posted at 2022-11-12

ERR_OSSL_EVP_UNSUPPORTED についての最新の記事はこちら

Node.jsのバージョンをアップデートすると、Vue.js(Nuxt)アプリのビルド時にこれを言われるようになった。

opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'

前提・環境

  • Node.js v18
  • Vue 2
  • Nuxt 2

解決法

一時的な解決方法

以下のコマンドを叩く。そうすればとりあえずすぐ動く。

export NODE_OPTIONS=--openssl-legacy-provider

以下のようにnpm run dev や buildの前につけるのもアリ。

開発環境の場合:

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

ビルドの場合:

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

ファイルに記述する方法

.zshrcに以下を記述する

export PATH="/Users/HOGE_USER/nuxt/HOGE_PROJECT/.npm-global/bin:$PATH"
export NODE_OPTIONS=--openssl-legacy-provider

(私のPCではnuxtというディレクトリに入っているのでこう記述しています。)

sourceで反映させるのを忘れずに(忘れた)

source .zshrc

※ これ、別のプロジェクトでやったら反映しなくなりました。なんでだろう。。。

おわりに

公式によると、この記事で上げたような解決策は一時的な対応として必要だが、公式でいずれちゃんと対応してくれるらしい。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0