inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tìm hiểu và thực hành về môi trường phát triển frontend (webpack, babel, eslint..)

Máy xúc được sử dụng thường xuyên

Hash 에러 발생

2667

smysmy

7 câu hỏi đã được viết

1

안녕하세요 강사님.

제가 npm run build로 빌드를 하려고 할때마다 다음과 같은 에러가 생기더라구요..


[에러 내용]

$ npm run build

> sample@1.0.0 build
> webpack

node:internal/crypto/hash:69
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:138:10)
    at module.exports (C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\webpack\lib\NormalModule.js:471:10)
    at C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\webpack\lib\NormalModule.js:503:5   
    at C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\webpack\lib\NormalModule.js:358:12  
    at C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at Array.<anonymous> (C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    at C:\Users\power\OneDrive\inflearn\devEnv\sample\node_modules\graceful-fs\graceful-fs.js:123:16   
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {    
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v20.3.0

위의 에러가 왜 발생했는지 찾아봤고 원인과 해결방법을 다음 링크에 정리했습니다.

[정리 링크] https://github.com/SeoMiYoung/Learning/issues/6


결론적으로, npm run build를 하기전에

export NODE_OPTIONS=--openssl-legacy-provider

위의 명령어를 한번 쳐주고, npm run build를 하면, 제대로 빌드가 작동되더라구요..!

그런데 VSCode를 다시 껐다 켜면, 또 다시 위의 명령어를 입력해준 다음에 빌드를 해야되더라구요..

아마, 위의 명령어는 Node.js실행시, OpenSSL의 레거시 프로바이더를 사용하도록 환경변수를 설정해주는 명령어인데, 해당 명령어는 임시적으로 현재 세션에서만 레거시 프로바이더를 사용하도록 해주는 명령어이다보니, VSCode를 껐다 켜는것처럼, 재부팅하거나 새로운 세션을 시작하는 경우에는 환경변수가 초기화되어 다시 설정해줘야되는 것 같아서 그런 것 같더라구요..!

재부팅할때마다 빌드하기전에 해당 명령어를 치고 시작하는게 번거롭습니다..

혹시 해결 방법이 없을까요??


[참고: 버전 정보]

{
  "name": "sample",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
  },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "css-loader": "^4.3.0",
    "file-loader": "^6.2.0",
    "react": "^18.2.0",
    "style-loader": "^1.3.0"
  },
  "devDependencies": {
    "webpack": "^4.46.0",
    "webpack-cli": "^3.3.12"
  }
}

node.js 웹팩 babel eslint

Câu trả lời 2

0

subin

"build": "NODE_OPTIONS=--openssl-legacy-provider webpack"

0

jeonghwan

저도 현상을 재현했습니다. (노드 18 버전으로 빌드)

혹시 노드 13 버전을 사용해 보실수 있을까요? 수업에서 사용한 노드 버전인데 이걸로 바꿔서 빌드하니깐 동작하는걸 확인했습니다.

노드 버전을 여러 개 사용하여야 한다면 nvm를 사용하시면 좋습니다.

그래도 안된다면

  • 노드 13으로 바꾼후,

  • node_modules를 제거하고 npm i 로 패키지 재설치

  • npm run build

로 재시도 한 번 해보세요.

지금 시점에서 해당 강의를 듣는 것에 대하여

1

110

3

2025년 기준 번들러 트렌드와 선택 기준이 궁금합니다 (Webpack, Vite, tsup 등)

1

221

1

에러 해결 공유드립니다

1

224

2

webpack 4 버전과 호환되는 플러그인 버전 공유드립니다

1

233

2

eslint

0

379

3

도와주세요!

0

167

2

[수강 중 트러블슈팅 공유] webpack, webpack-cli 버전

1

145

1

질문 an error occurred while loading the image

1

468

1

webpack에서 babel-loader 사용할때 질문

1

150

1

자주 사용하는 플러그인 에서 질문이 있습니다.

1

168

1

eslint no-extra-semi 관련 질문

1

143

1

webpack5 에서 open index.html하는법 + 질문

1

167

1

TypeError: ((process.env.NODE_ENV === "production") && [MiniCssExtractPlugin]) is not iterable

2

301

1

혹시 웹팩 5 내용으로 강의 업데이트는 안되는건가요?

1

370

1

에러없이 png안뜨시는 분들

1

274

1

Error: Cannot find module &#x27;node:crypto&#x27;

1

464

1

DefinePlugin 관련; env와 관련하여, (21.06.22 16:15, aloha_jh) 답변포함

1

406

1

깃허브 확인 문의

0

575

1

폴더를 prettier로 돌렸을 때 나오는 에러 구문에 대한 질문

0

405

1

해쉬값과 캐쉬 갱신

1

460

1

webpack.config.js에서의 CommonJS방식에 대한 질문

0

829

3

웹팩 버전

0

522

1

웹팩-cli 버전을 명시하지 않으면 왜 에러가 날까요?

0

484

1

import해오는 두가지 방법에 대해 제가 잘 이해한건지 확인받고 싶습니다!!

0

318

1