Development Tip

npm 오류!

yourdevel 2020. 11. 12. 20:27
반응형

npm 오류! 코드 UNABLE_TO_GET_ISSUER_CERT_LOCALLY


반응 응용 프로그램을 만드는 모든 방법을 시도하고 있습니다. 나는 maven을 사용해 보았고 이제 Facebook Incubators의 crate-react-app 빌드 시스템을 시도하고 있습니다.

create-react-app my-appnpm 환경 에서 명령을 실행하려고 할 때 내 개인 시스템에서 문제없이 작동했습니다. 하지만 내 작업 환경에서 동일한 명령을 시도했을 때 명령 프롬프트에서이 오류가 발생했습니다.

npm ERR! node v6.10.2
npm ERR! npm  v3.10.10
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY

npm ERR! unable to get local issuer certificate
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

인터넷 검색의 빠른 해결책은 npm config set strict-ssl false운 좋게도 작동했습니다. 그러나 내 작업 환경의 일부로 strict-ssl 플래그를 false로 설정하도록 제한되어 있습니다.

나중에 안전하고 작동하는 해결책을 찾았습니다.

npm config set registry http://registry.npmjs.org/  

이것은 완벽하게 작동했으며 Happy Hacking!strict-ssl 플래그를 false로 설정하지 않음 으로써 성공 메시지 받았습니다 .


회사에서 특정 트래픽의 암호를 해독하고 인증서로 다시 암호화 할 수 있습니다 (키 체인 또는 신뢰할 수있는 루트 인증서에 이미 있음).

노드 7 이상을 사용하는 경우이 수정 사항이 node 및 node-gyp과 호환되는 것으로 나타났습니다 (Windows의 경우 다르게 수행해야하지만 기본적으로이 환경 변수를 추가하면됩니다).

export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"

pem 파일에는 여러 인증서가있을 수 있습니다. https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file

인증서가 적절한 pem 형식인지 확인하십시오 (리터럴이 아닌 실제 줄 바꿈이 필요합니다 \n)

상대 경로 ( .또는 ~) 와 함께 작동하도록 할 수없는 것 같습니다.

이 수정은 기본적으로 npm 및 node-gyp에 일반 CA에 대한 검사를 사용하도록 지시하지만이 인증서가 발견되면이 인증서도 허용합니다.

이상적으로는 시스템의 신뢰할 수있는 인증서를 사용할 수 있지만 안타깝게도 그렇지 않습니다.


NPM 리포지토리 URL을 HTTP로 변경하면 빠른 수정으로 작동하지만 HTTPS를 사용하고 싶었습니다.

제 경우에는 고용주 (ZScaler)의 프록시가 문제를 일으켰습니다 (MITM 역할을하여 인증 확인 문제를 일으킴).

나는 이것과 Git (HTTPS를 통한 GitHub repos 복제의 경우 동일한 문제가 있음)에 도움이 되는 스크립트잊고 내 사용을 위해 포크했습니다.

기본적으로 git에 대해 다음을 수행합니다.

git config --global http.proxy http://gateway.zscaler.net:80/
git config --system http.proxy http://gateway.zscaler.net:80/

노드의 proxy=http://gateway.zscaler.net:80/경우 끝에 추가 됩니다.c:\Users\$USERNAME\npm\.npmrc

그것은 나를 위해 문제를 해결했습니다.


같은 오류가 발생했습니다. SSL 인증서와 관련된 것 같습니다. 공개 패키지에 NPM을 사용하는 경우 (HTTPS 보안이 필요하지 않음) 다음 명령을 사용하여 엄격한 SSL 키 유효성 검사를 끌 수 있습니다.

공개적으로 사용 가능한 몇 가지 패키지를 한 번만 설치하려는 경우 가장 간단한 수정일 수 있습니다.

npm config set strict-ssl=false

저를 믿으십시오.

    npm config set registry http://registry.npmjs.org/  

아래 코드는 나를 위해 완벽하게 작동했습니다.

npm config set registry http://registry.npmjs.org/  

npm을 업데이트하려고 할 때이 오류가 발생했지만 AWS Linux의 yum에서 정말 오래된 버전 (1.3.6!)이 설치되어있었습니다. 새로운 npm 버전을 수동으로 설치할 수 있었고 모든 것이 해결되었습니다.

참고 URL : https://stackoverflow.com/questions/45884752/npm-err-code-unable-to-get-issuer-cert-locally

반응형