[TIL] npm registry ENOTFOUND
프로젝트를 내려받아
yarn install
명령을 실행하여 라이브러리 설치하는 도중 다음과 같은 메시지가 출력되며 에러가 발생했다. 음…인터넷 연결 문제인가 했지만, 문제가 없는거 같다.registry.nlark.com
를 registry url로 사용하고 있는 라이브러리들에 대해서 네트워크 타임아웃이 발생한 것으로 파악이 된다. 일시적으로 발생하는 에러일거라고 생각이 되지만 임시로 혹은 해당 에러에 대해서 어떻게 대체하면 좋을지 검색을 좀 해보니 몇 가지 해결 방법이 있었다.- 패키지 lock 파일 제거 후 다시 설치
- 기존 lock 파일을 제거하고 설치하는 방법은 문제를 해결 할 수 있는 방법 중 하나지만 사용 패키지 버전 종속성 문제로 예상치 못한 또 다른 문제가 발생 할 가능성이 있다.
- 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를 명시해주면 된다.
참고: