Windows에서 'npm 설치'가 매우 느림


84

나를 위해 npm install매우 느립니다. 최신 npm 버전과 함께 Windows 8.1을 사용하고 있습니다. 내 연결 속도는 약 100Mbit / s입니다.

설치하려는 프로젝트에는 약 20 개의 패키지 / 종속성이 있으며 모든 종속성을 설치하는 데 약 30 분이 걸립니다.

누구에게 단서가 있습니까?


2
오늘도이 문제가 발생합니다. 합리적으로 새로 빌드 된 Windows 8.1 상자, 저는 오늘 node.js와 npm을 설치했습니다. npm install은 bower를 설치하려고 할 때 매우 느리게 실행됩니다. npm v2.7.4 nodejs v0.12.2
Stuntbeaver 2015

@Simon Knittel 해결 했습니까?
Tomasz Waszczyk

@PantaRhei 그것이 해결책인지는 모르겠지만 모듈을 USB3 드라이브에 설치하든 내장 HDD에 설치하든 나에게 차이를 만들었습니다.
사이먼 Knittel

이 방화벽 차단 연결을 할 수 있습니다 @ 사이먼, 그렇지 않으면 당신은 Nodejs과 NPM 업데이트 확인
세이프 Tamallah

당신은 갱신 Nodejs과 NPM을 사용하지 않도록 방화벽을 시도 할 수 있습니다 @Pnta
세이프 Tamallah

답변:


34

--verbosepeterh가 언급했듯이 문제의 원인을 사용하여 동일한 문제 가 발생했습니다. 나는 https- 연결에 자체 인증서를 사용하는 프록시 뒤에 있습니다. https://github.com/npm/npm/issues/8872 의 사용자 "Mletter1"에 따르면 이 문제는 http를 사용하여 매우 쉽게 해결됩니다.

npm config set registry http://registry.npmjs.org/ --global

그리고 voilà, 그것은 다시 빠릅니다. 물론 인터넷을 통해 일반 텍스트 npm 정보로 괜찮은 경우에만이 작업을 수행해야합니다 ;-)


VirtualBox Docker (Toolbox)에 대해 Windows WSL을 사용할 때이 문제가 발생했습니다. NPM은 진흙처럼 느려서 WSL (debian)을 http npmjs.org로 리디렉션하면 작업 속도가 크게 빨라졌습니다.
deepelement

다른 유용한 링크를 추가하려면 WSL NPM 사용도 Windows Defender의 영향을받는 것처럼 보입니다. gist.github.com/noelbundick/9c804a710eb76e1d6a234b14abf42a52
deepelement

4
하지만 안전하지 않습니까? MIM 공격 노출
GiriB

19

부인 성명. 보안 관련 문제 : node_modules 폴더에 다운로드 한 내용을 알고 계시나요?)

영원에서 → 5 초 빌드 :

  • Windows Defender 설정 검색
  • → 바이러스 및 위협 방지
  • → 바이러스 및 위협 방지 설정
  • → 제외

여기에서 제외 된 실시간 보호 폴더 목록에 다음 두 경로를 추가합니다 .

C:\Program Files\nodejs
C:\Users\<your username>\AppData\Roaming\npm

PS :을 <your username>해당 사용자 폴더 이름으로 바꿉니다. Explorer
에서 AppData 폴더를 찾을 수없는 이유를 헤매고 있다면 숨겨진 폴더에 대한보기 옵션을 확인하십시오.


1
그것은 나를 위해 잘 작동하며 프로젝트에 대한 로컬 node_modules 폴더가있는 작업 공간 폴더에도 추가해야합니다.
Xun Yang

날 때 알려 @Chet 당신이 그것을 작동하게 당신이 무슨 짓을했는지
로코 C. Buljan

방어자에게 가서 모든 바이러스 및 위협 방지, 모든 네트워크 및 방화벽 보호를 끄고 "앱 및 파일 확인"을 끕니다. 또한 진행률을 높이기 위해 몇 가지 npm 설정을 추가하고 레지스트리 URL을 https 대신 http로 설정했습니다. 이제 조금 더 빠릅니다.
Chet

4
얍 @Chet, 바이러스 감염은 🙈 지금 빨리 가야한다
로코 C. Buljan

1
그것이 계획입니다! 🤞
Chet

11

나는 한동안 같은 문제에 직면 해 왔습니다. 나는 다음을 시도했다

npm i typescript live-server --save-dev

설치는 영원히 멈출 것입니다. 그러나 -verbose 플래그를 추가하면 잘 작동했습니다.


2
그러나 왜 -verbose차이가 있습니까?
Itamar Bitton


4

npm이 인터넷 연결을 잘 처리하지 못하는 것처럼 보이며 때때로 이러한 상황에서 끝날 수 있습니다.

1) 방화벽이나 바이러스 백신이 npm 설치 속도를 늦출 수있는 검사 또는 필터링을 수행하지 않는지 확인하도록 조언합니다.

2) 아래와 같이 npm에서 캐싱을 사용할 수도 있습니다.

npm install package-name --cache "c:\path\to\use\as\dependencies\cache"

그러면 지정한 디렉토리에서 npm 다운로드 및 캐시 종속성이 허용됩니다.

3) npm 패키지 종속성을 캐싱하는 또 다른 솔루션은 npm lazy입니다 . npm Lazy 웹 사이트 에서 이에 대한 자세한 정보를 찾을 수 있습니다.

참고 : 캐싱 프로세스는 다운로드 속도를 향상시킬 수도 있고 향상시키지 않을 수도 있지만 npm 패키지를 설치하거나 업데이트 할 때 다운로드 시간을 절약 할 수 있습니다.


3

Windows 방화벽 및 Windows Defender 실시간 보호를 끄면 Windows 10에서 나에게 도움이되었습니다.


2

나에게는 IPv6의 문제인 것처럼 보였습니다.

IPv6를 비활성화하는 것은 저에게 큰 도움이되었습니다.
IPv6이 켜진 상태에서 "update-package newtonsoft.json"은 "update-package : A task was canceled"오류와 함께 시간 초과에 1:45가 걸렸습니다.

IPv6이 비활성화 된 상태에서 "update-package newtonsoft.json"이 10 초 만에 완료 됨


IPv6를 비활성화하면 Fedora 23에서 비슷한 문제가 발생하는 데 도움이되었습니다
malloc4k

1

angular cli "ng new PROJECT_NAME"을 사용하는 동안 프로젝트를 생성하는 동안 동일한 문제가 발생했습니다.이 명령은 프로젝트 생성 후 "npm -install"을 트리거하여 설치하는 데 너무 오래 걸리고 "Installing packages for tooling via npm"에서 멈췄습니다. 나를 위해 일한 다음을 따르십시오.

1) npm 버전 "npm --version"확인 (2.1.8 이상이어야 함) "npm -g install --save latest-version"으로 npm 패키지 업데이트

2) "npm set progress = false"에 더 많은 시간을 소비하는 진행률 표시 줄 제거

그래도 문제가 해결되지 않으면이 문제를 확인하십시오 https://github.com/nodejs/node/issues/4150 https://github.com/npm/npm/issues/11283

바라건대 이것이 문제를 분류합니다. 건배!


1

Windows Defender 방화벽을 끄는 것이 도움이되었습니다.

옳지 않다고 생각하기 때문에 먼저 WIFI 설정을 통해 개인 네트워크에 WIFI를 추가하고 모든 공용 네트워크 대신 개인 네트워크에 대한 Windows Defender를 끕니다.

다음 단계는이 문제를 일으키는 네트워크 트래픽과이를 Windows Defender 예외 규칙에 추가하는 방법입니다.


0

나는 모든 구성 (프록시, 레지스트리 등)을 시도했지만 아무것도 작동하지 않았으므로 노드 및 npm을 완전히 제거하고 설치했습니다. 문제를 해결하는 데 도움이되었습니다.


0

바이러스 및 방화벽 보호를 완전히 끄는 것은 가장 안전한 옵션이 아닙니다. 그것은 일을 더 빨리 만들지 만 당신을 더 취약하게 만듭니다.

제 경우에는 바이러스 및 위협 방지에서 node.exe 프로세스 만 제외했습니다.

  • 시작 메뉴에서 "Windows 보안"을 입력하고 앱을 엽니 다.
  • "바이러스 및 위협 보호"를 클릭합니다.
  • 바이러스 및 위협 방지 설정 => 설정 관리
  • 제외 => 제외 추가 또는 제거
  • 제외 추가 => 프로세스 => type node.exe => 추가 클릭

간단한 create-react-app이 2 분 40 초에서 1 분 10 초로 감소했습니다. npm 명령도 node.exe에 의해 실행되므로 동일한 개선 사항이 발견되었습니다.


0

최신 버전의 npm을 사용하고 있는지 확인하십시오. 내 경우에는 C:\Program Files\nodejs\npm.cmd옛날 사용했던 npm-cli.js기본 아래의 prefix폴더를 %appdata%\npm오히려 새로운보다 npm-cli.js아래 C:\Program Files\nodejs.

설정 npm_config_prefix이를 C:\Program Files\nodejs해결 환경 변수 를 . (그 해결책을 찾기 전에, 나는 사용하여 시도 --prefix 주장을 하고 그렇게 어려운 방법을 발견 " 지정된 폴더에 실행하는 힘이 아닌 글로벌 명령을 " .)

3.10.9에서 6.13.4로 성능이 크게 향상 npm install되어 바이러스 백신의 간섭에도 불구하고 시간을 허용 하기에 충분합니다 .


0

나는 문제를 확인하기 위해 토끼 구멍을 통과했습니다. npm 설치가 계속 병목 현상을 일으키면 가상 이더넷의 속성을 수정하고 모든 오프로드를 비활성화하는 것을 고려해야합니다. 항목을 .

npm에 프록시 또는 캐싱 문제가 없습니다.

메뉴로 이동하고 오프로드 설정을 비활성화하는 방법에 대한 자습서는 여기를 참조하십시오. 이더넷과 VEthernet 모두에 대해이 작업을 수행했는지 확인하면 즉시 차이를 알아 차릴 수 있습니다. 나는 때때로 중단되는 10 분 중단 해상도에서 10 초 설치로 이동했습니다. https://www.dincloud.com/blog/tuning-windows-get-15x-speeds-on-large-file-copies-today

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.