NPM 패키지 설치 시 code E426 문제
npm으로 NodeJS 패키지를 설치할 때 마다 콘솔창에 다음 메시지가 나타날 때가 있습니다.
npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are curr ently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0 -tls-1-1/ changed 1 package in 1s
대부분은 설치에는 문제가 없을텐데, 만약 더 이상 모듈 설치가 되지 않거나 npm publish
를 할 때 아래와 같이 문제가 나타나는 경우가 있습니다.
npm ERR! code E426 npm ERR! 426 Upgrade Required - PUT http://registry.npmjs.org/{packageName} npm ERR! A complete log of this run can be found in: ...
이는 NPM 패키지 저장소(npm 레지스트리)로 트랜잭션하는 과정에서 HTTP 프로토콜이 사용되었거나 오래된 HTTPS 인증서 버전이 사용되어서 발생하는 문제입니다.
해결 방법
이 문제에 대한 해결 방법은 간단합니다. 일반적으로 NodeJS의 최신버전이나 NPM 최신버전으로 업그레이드하면 문제가 해결되지만, 예전 환경에서 계속해서 사용하고 있는 경우에 문제가 발생한다면 콘솔 창의 커맨드라인에 다음 명령줄을 입력합니다.
$ npm config set registry https://registry.npmjs.org/
이제 다시 원하는 모듈을 설치하면 문제가 발생하지 않을 것입니다.