1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

yarnコマンド実行時のエラー「code: 'ERR_OSSL_EVP_UNSUPPORTED'」の解決法

Posted at

ファイル構成

  • index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    ...
  </head>
  <body>
    ...
    <script src="dist/bundle.js"></script>
  </body>
</html>

  • package.json
{
  "license": "MIT",
  "scripts": {
    "webpack": "webpack"
  },
  "dependencies": {
    "webpack": "5.22.0",
    "webpack-cli": "4.5.0"
  }
}

  • webpack.config.js
const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
};

他にも少しディレクトリとファイルがありますが今回重要だと思うのは上記ファイルになりますので他は割愛させて頂きます。

概要

$ yarn webpack --mode=development

ターミナル上で上記を実行してdistディレクトリを作成して、bundle.jsファイルを作ろうとしました。
そうしたら、下記のようなエラーが出ました。

$ yarn webpack --mode=development
yarn run v1.22.19
$ webpack --mode=development
node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported


〜〜〜〜省略〜〜〜〜


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

Node.js v19.0.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

その後色々とエラーコードを検索してweb上で調べまくっていたら全く同じエラーのstack overflowのページにたどり着きました。

そして判明したことは、
「Node.js17以降のバージョンではOpenSSLの関係でWebpack 4.xは動作できなくなっている」
ということでした。

自分が上記のコマンドを入力した時のNode.jsのバージョンは19.0.0でした。
そしてstack overflowのページでは「16.13.1にダウングレードするとうまくいきました」とのコメントがあったので、自分も同じく16.13.1にダウングレードした所、無事にコマンドが通りました。

$ yarn webpack --mode=development
yarn run v1.22.19
$ webpack --mode=development
asset bundle.js 4.03 KiB [emitted] (name: main)
runtime modules 670 bytes 3 modules
cacheable modules 92 bytes
  ./src/index.js 36 bytes [built] [code generated]
  ./src/bar.js 56 bytes [built] [code generated]
webpack 5.22.0 compiled successfully in 154 ms
✨  Done in 2.31s.

ということで無事にdistディレクトリにbundle.jsファイルが出来ました。
自分の備忘録として書きましたが、もし誰かの参考になれば幸いです。
お読み頂きましてありがとうございました。


ちなみに自分は今回Node.jsをダウングレードするにあたりNode.jsのバージョン管理ツールの「N」を使用しました。
参考サイト:n (Node.js管理) のインストール手順

今回参考にさせて頂いたサイト

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?