npm 11.6.4의 패키지 페처에서는 대상 이름을 프록시가 확인해야 할 때 socks5h을, 로컬에서 확인할 때 socks5을 사용합니다. 해당 릴리스에 함께 포함된 socks-proxy-agent가 바로 이 차이를 만듭니다.

기존 SOCKS5 엔드포인트를 사용자 구성에 저장합니다.

npm config set proxy socks5h://127.0.0.1:1080 --location=user
npm config set https-proxy socks5h://127.0.0.1:1080 --location=user

프록시 인증 없이 허용된 공개 레지스트리 다운로드를 하려면 SOCKS5 프록시 목록의 항목이 두 URL에 있는 예시용 로컬 리스너를 대신할 수 있습니다. 두 대상 설정은 같은 엔드포인트를 가리켜도 됩니다. 프록시 쪽 확인은 대상 이름이 해당 네트워크의 DNS 뷰에만 존재할 때 유용합니다.

지원되는 경로는 npm-registry-fetch에서 make-fetch-happen을 거쳐 SocksProxyAgent를 선택하는 @npmcli/agent으로 이어집니다. 이 패키지 페치 경로에는 HTTP에서 SOCKS로 변환하는 어댑터가 필요하지 않습니다.

도입하기 전에 명령이나 IDE가 어떤 npm을 실행하는지 확인하세요. 이전 릴리스는 다른 페치 구현을 사용했습니다. 11.6.4의 지원이 이전 모든 버전의 동작을 입증하지는 않습니다.

관련 글