반응형
윈도우 체제에서 해당 오류를 개선하기 위한 방법을 정리하였다.
요약
Node.js 17 이상에서 OpenSSL 3.0 호환성 문제로 발생한다. 때문에 Node.js를 다운그레이드하거나 --openssl-legacy-provider를 사용하여 해결 가능하다.
Node.js 다운그레이드
윈도우용 nvm을 설치하여 Node.js의 버전을 변경하는 방법이다. 아래 링크에서 필요 파일을 다운받을 수 있다.
https://github.com/coreybutler/nvm-windows/releases
zip파일 안에 있는 setup 파일을 열고 설치하면 된다.
동의 설정만 추가하며, 기타 사항은 기본 체크 항목으로 설치를 진행한다. (기존 설치되어있던 node는 삭제되고 재설치 됨) 만일 이전 Node.js를 설치할때 기본 경로(C:\Program Files\nodejs) 외의 다른 경로에 설치했다면, 설치 중에 경로를 명시적으로 설정해야 할 수도 있다.
설치가 완료되면 관리자 권한 cmd창을 실행하여, 아래 명령어를 활용하여 사용할 Node버전을 17미만으로 세팅해주면 된다.
> node -v // 노드 현재버전 확인
> nvm install <노드 버전> // 변경할 버전을 설치
> nvm use <노드 버전> // 설치한 버전으로 변경
> node -v // 변경된 노드 버전 확인
openssl-legacy-provider 설정
--openssl-legacy-provider는 Node.js 17 이상에서 OpenSSL 3.0을 사용하는 과정에서 발생할 수 있는 호환성 문제를 해결하기 위해 제공되는 옵션입니다. 이 옵션은 OpenSSL 3.0에서 비활성화되었거나 제거된 일부 암호화 알고리즘과 기능을 이전 방식으로 작동하도록 설정합니다.
아래 두 가지 방법 중 한가지 방법을 택하여 설정을 진행하면 된다.
1. 환경변수 설정
Windows PowerShell
$env:NODE_OPTIONS = "--openssl-legacy-provider"
2. package.json에 설정
당연한 이야기 이지만 scripts 영역을 이미 작성해둔 사항이 있다면, 해당 영역에 주석이 달린 라인만 추가해주면 된다.
"scripts": {
"start": "node --openssl-legacy-provider app.js" //앱 실행 시 해당 명령어 실행
}
해당 게시물 작성에 참고한 포스팅 링크를 첨부하였다.
https://ahn3330.tistory.com/45
반응형
'문제해결' 카테고리의 다른 글
[ORA-28040] 일치하는 인증 프로토콜 없음 (0) | 2024.07.09 |
---|---|
[intelliJ] 외부 라이브러리 import 오류 (0) | 2024.06.10 |
[npm] install 무한로딩 해결 (0) | 2024.05.09 |
Lombok 수동설치 (0) | 2023.11.30 |
[jboss배포] 소스파일 적용 안됨 (0) | 2023.01.26 |