実現したいこと
Vercelで稼働するnodeのversionをv18に引き上げる必要が出てきたため対応したい
エラー詳細、対応した内容など
Vercelのデプロイ時に下記エラー(一部抜粋)が発生し、ビルドが失敗する
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED'
私が調べた範囲内ですと、nuxt2に内蔵しているwebpack4が内部依存しているOpenSSLのバージョンが、node18に対応していない?ようで、
検索した中では環境変数(NODE_OPTIONS='--openssl-legacy-provider')を使用することでエラーを回避出来るとのことでした。
package.json
1"dev": "HOST=0.0.0.0 PORT=3001 nuxt", 2"build": "nuxt build", 3↓ 4"dev": "NODE_OPTIONS='--openssl-legacy-provider' HOST=0.0.0.0 PORT=3001 nuxt", 5"build": "NODE_OPTIONS='--openssl-legacy-provider' nuxt build",
こちらでローカル環境では上手く開発環境の起動やビルドが出来たのですが、
Vercelに変更後の内容をpushしたところ上述したエラーが発生しデプロイが失敗する状態です。
アドバイス頂きたい内容
Vercelのnodeのアップデートの期限が8/15までに対応しなければいけないようなので、
ひとまずnodeをアップデートして既存のプロジェクトが稼働できる状態を最低限のゴールラインとしたいのですが、
こちらの環境変数を使用したビルドをVercel側でも実施するためにはどのような対処が必要でしょうか?
もしくは、他の対応方法があればご助言頂きたいです。
プロジェクト詳細
- Node v14.x → v18.x
- Nuxt @2.15.8
- Webpack @4.46.0
回答1件
あなたの回答
tips
プレビュー