ProgramingTip

npm이 fetchMetadata-> 네트워크에서 멈춤

bestdevel 2021. 1. 11. 21:21
반응형

npm이 fetchMetadata-> 네트워크에서 멈춤


npm이 package.json에서 설치하든 개별 패키지에서 설치하든 내 npm이 많이 멈춰 있습니다.

지금은 할 수조차 없습니다 sudo npm install node-inspector -g

에서 사용 node 6.2.1하고 있습니다 npm 3.9.5.ubuntu 16.04

npm cache clear도움이되지 않았습니다. 설치에 몇 시간이 걸리거나 실패합니다.


사용하는 경우 프록시에 문제가 있는지 확인하십시오. npm의 엔드 포인트를 수동으로 설정할 수도 있습니다.

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

npm 대신 yarn 설치 프로그램을 시도하십시오 .

sudo npm install -g yarn
yarn install

나는 그러한 문제에 훨씬 더 탄력적이라는 것을 알았습니다.


위에서 언급 한 fetchMetaData설치를 포함하여 여러 가지 다른 설치가 매달려있는 동일한 문제가 발생했습니다 yarn. 나는 다음과 같이 Mac업데이트하여 해결했습니다 npm.

npm install npm@latest -g

따라서에서이 문제가 발생하면 Mac업데이트를 시도하고 문제가 해결되는지 확인하십시오.


https 프록시 설정을 지워야합니다.

npm config rm proxy
npm config rm https-proxy

나에게 그것은 Windows의 이중 임시 디렉토리였습니다.

명령 프롬프트를 열고 다음을 입력하십시오.

echo %TEMP%

단일 디렉토리에 대한 경로를 받아야합니다. 여러 개의 디렉토리를받은 경우 (C : \ Users \\ AppData \ Local \ Temp; C : \ xampp \ php) 이것이 문제 일 수 있습니다. 다음 명령을 사용하여 수정할 수 있습니다.

SET TEMP="<correct path to temporary directory>"

<correct path to temporary directory>첫 번째 경로는 어디에 있을 수 있습니다 (세미콜론 앞, C:\Users\<user>\AppData\Local\Temp제 경우에는 의미 ).


프록시 를 구성 했습니까 ? 이것이 뭔가를 반환하는지 확인하십시오.

> npm config get https-proxy
> npm config get proxy

여기에 구성된 값이있는 경우 올바른 값과 일치하지 않을 수 있습니다. 프록시를 사용하지 않아야하는 경우 삭제할 수 있습니다.

> npm config delete https-proxy
> npm config delete proxy

문서 : https://docs.npmjs.com/cli/config


나는 같은 문제가 있습니다. 우선 시도의 실행 npm install-verbose플래그. 문제를 식별하는 데 도움이 될 수 있습니다.

이 명령은 터널링 소켓에 문제가 있다고 말했습니다.

터널링 소켓을 설정할 수 없습니다. cause = write EPROTO 101057795 : error : 140770FC : SSL 루틴 : SSL 23_GET_SERVER_HELLO : 알 수없는 프로토콜 : openssl \ ssl \ s23_clnt.c : 794 :

그 후 나는 오류를 검색하고 그 문제에 대해 github 에서 스레드를 발견했습니다 . 문제는 프록시에있었습니다. 이전에 HTTP_PROXY환경 변수를 설정하고 제거 한 후 환경 변수 npm install가 오류없이 완료되었습니다.


이 문제를 일으킬 수있는 여러 가지가 있습니다.

나는 여기에 게시 된 대부분의 답변을 포함하여 많은 것을 시도했지만 운이 없었습니다.

이상한 이유로 ISP의 문제였습니다. 다른 ISP에서 시도했을 때 제대로 작동했습니다.


대부분의 사람들에게 문제는 프록시 설정과 관련이있을 수 있으며 위에서 언급 한 솔루션으로 해결할 수 있습니다.

나에게 문제는 다른 것이었다. Bitbucket에서 호스팅되고 인턴이 SSH를 사용하여 저장소를 검색하는 "git + ssh : //git@bitbucket.org/"를 통해 해결되는 개인 저장소 종속성이 있습니다.

DNS가 AAAA 레코드를 검색하고 호스트에 레코드가있는 경우 SSH는 기본적으로 IPv6를 선호합니다. Bitbucket에는 AAAA 레코드가 있으므로 SSH는 IPv6를 통해 수행됩니다. 하지만 내 ISP는 IPv6를 지원하지 않습니다 ( http://ipv6-test.com/ 에서 테스트를 통해 ISP의 IPv6 지원 여부를 확인할 수 있습니다 ).

이를 해결하기 위해 SSH 클라이언트가 IPv6 대신 IPv4를 사용하도록 강제 할 수 있습니다.

설정 AddressFamily inet에서 /etc/ssh/ssh_config다시 시작 SSH를 클라이언트입니다.

Ubuntu에서 SSH 클라이언트를 다시 시작하려면 sudo service ssh restart


Having same problem. Fixed it by switching to correct version of node required by the project.

My project needed node >=v4.3 and <=v5.

1) Check node version being used by nvm ls

2) Use nvm use [version] or else install the specific version. if you don't have.

ReferenceURL : https://stackoverflow.com/questions/37860219/npm-gets-stuck-on-fetchmetadata-network

반응형