[TIL] npm registry ENOTFOUND

프로젝트를 내려받아 yarn install 명령을 실행하여 라이브러리 설치하는 도중 다음과 같은 메시지가 출력되며 에러가 발생했다. 음…인터넷 연결 문제인가 했지만, 문제가 없는거 같다.
registry.nlark.comregistry url로 사용하고 있는 라이브러리들에 대해서 네트워크 타임아웃이 발생한 것으로 파악이 된다. 일시적으로 발생하는 에러일거라고 생각이 되지만 임시로 혹은 해당 에러에 대해서 어떻게 대체하면 좋을지 검색을 좀 해보니 몇 가지 해결 방법이 있었다.
  1. 패키지 lock 파일 제거 후 다시 설치
      • 기존 lock 파일을 제거하고 설치하는 방법은 문제를 해결 할 수 있는 방법 중 하나지만 사용 패키지 버전 종속성 문제로 예상치 못한 또 다른 문제가 발생 할 가능성이 있다.
  1. registry 도메인 변경
      • 문제가 발생한 registry url을 lock 파일내에서 직접 호환 가능한 다른 registry url로 대체 한 뒤 설치 진행한다.
      • npm registry 대체 목록:
        • registry.npmjs.org
          • URL: https://registry.npmjs.org/
          • 설명: NPM의 공식 레지스트리입니다. 전 세계에서 가장 널리 사용되며, 모든 NPM 패키지를 제공하는 기본 레지스트리
        • registry.yarnpkg.com
          • URL: https://registry.yarnpkg.com/
          • 설명: Yarn 패키지 매니저의 공식 레지스트리로, NPM과 완벽히 호환됩니다. 전 세계적으로 널리 사용되며, 빠른 속도를 제공
        • cdn.npmjs.com
          • URL: https://cdn.npmjs.com/
          • 설명: NPM 공식 레지스트리의 CDN(Content Delivery Network) 버전으로, 더 빠른 패키지 다운로드 속도를 제공
        • npm.pkg.github.com
          • URL: https://npm.pkg.github.com/
          • 설명: GitHub Packages를 통한 NPM 레지스트리로, 특히 GitHub에서 호스팅된 프로젝트의 패키지 관리에 유용
        • registry.npmjs.cf
          • URL: https://registry.npmjs.cf/
          • 설명: Cloudflare에서 제공하는 NPM 미러로, 글로벌 사용자를 위한 빠르고 안정적인 레지스트리
      • 특정 라이브러리에 대해서만 적용하고 싶다면 yarn add <packageName> --registry <registryUrl> 명령 처럼 registry를 명시해주면 된다.
참고:

© 2024 dan.dev.log, All right reserved.

Built with NextJS