it공부 (이야기)/버그픽스

error:0308010C// webpack과 nodejs의 호환문제 / 자바스크립트 멜론 클론코딩

cantor 2023. 4. 2. 15:11

버그 발생 정보

 

"scripts": {
"build": "npm run build:server && npm run build:assets"
}

npm run build를 터미널에 입력하자 아래의 오류 메시지가 출력되었다.

node:internal/crypto/hash:71 this [kHandle] = new _Hash(algorithm, xofLen); ^ Error: error:0308010C:digital envelope routines::unsupported at new Hash.... 파일경로 중략
{ opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' }

 

스택 오버플로우에서 찾은 결론

 

 

 

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

I created the default IntelliJ IDEA React project and got this: Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19) at Object.createHa...

stackoverflow.com

 

 

nodejs 버전문제:

webpack이 지원하는 node.js버전이 현재 내 pc에서 사용 중인 것과 다르다.

 

해결방법 두 가지:

1.nodejs를 16 버전으로 다운그레이드하기

2.open ssl의 legacy를 허용하기

 

해결방법

 

nodejs를 다운그레이드하여  문제를 해결했다.

 

사용도구
NVM: Node Version Manager = 노드 버전 관리자.

사용자 명령프롬포트 (cmd)에서 노드의 버전을 관리할 수 있게 
해 준다.

여러 가지
 버전의 
nodejs를
 설치 및 
사용할
 수 있다.
macOs: 
https://github.com/nvm-sh/nvm
window: 
https://github.com/coreybutler/nvm-windows/releases

 

해결과정

 

 

1. nvm설치 매니저 다운로드

 

 

아래 링크에서 window용 nvm 설치 매니저를 다운로드할 수 있다

nvm-setup.zip를 다운로드하자.

 

Releases · coreybutler/nvm-windows

A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows

github.com

 

 

 

2. nvm 설치

 

다운로드한 파일( nvm 설치 매니저)을 통해

nvm을 nodejs가 설치된 경로에 설치한다.

nodejs의 기본위치:
c/programfiles/nodejs

 

 

3. 구버전 노드 다운 및 사용설정

 

윈도 명령 프롬포트(cmd)에 다음과 같은 명령어를 입력하여

노드를 다운그레이드한다.

nvm install 16.20.0 //  16.20.0 버전의 노드설치
nvm use 16.20.0	// 16.20.0 버전의 노드 사용하기

node -v // 현재 사용중인 버전의 노드확인

 

 

 

 

이후 다시 터미널에 npm run build를 실행하자

오류 없이 정상적으로 실행되었다.

 

 

 

아래 블로그를 참조했습니다.

 

[Node.js] windows에서 노드 버전 변경 - downgrade/upgrade

사용해야되는 모듈이 현재 node 버전을 지원하지않아서 버전 downgrade를 해야됐습니다. linux나 mac 환경에서 노드 버전 관리 방법은 정리해주신 분들이 많았지만, 윈도우 환경에서 방법을 정리해주

ahn3330.tistory.com

 

 

열심히 구글링 하고 게시글을 작성하고 보니,

노마드 슬랙에 설명이 일찍이 올라와있었다.

 

그래도 게시물 하나 남긴 걸 위안으로 삼자.

 

 

읽어주셔서 감사합니다.

오류나 오탈자는 댓글로 알려주세요