[TIL] npm registry ENOTFOUND

프로젝트를 내려받아 yarn install 명령을 실행하여 라이브러리 설치하는 도중 다음과 같은 메시지가 출력되며 에러가 발생했다. 음…인터넷 연결 문제인가 했지만, 문제가 없는거 같다.
registry.nlark.com 를 registry 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를 명시해주면 된다.
참고:

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

Built with NextJS