회사 프록시 .pac 뒤에 npm 사용


158

npm을 통해 여러 패키지를 다운로드해야하지만 회사 프록시 구성은 .pac 파일입니다 (Windows에 있습니다)

나는 이미 시도했다

npm config set proxy http://mydomain\username:password@1.2.3.4:8181/proxy.pac
npm config set https-proxy http://mydomain\username:password@1.2.3.4:8181/proxy.pac

또는

npm config set proxy http://1.2.3.4:8181/proxy.pac
npm config set https-proxy http://1.2.3.4:8181/proxy.pac

하지만 작동하지 않습니다 ...

어떠한 제안? 감사



8
나는이 질문이 중복이라고 생각하지 않으며, pac 스크립트는 대상 IP / 호스트 주소에 따라 여러 개의 프록시 주소를 포함 할 수 있지만 dube는 1 개의 프록시 주소 만 처리합니다- 검토에서
Ferrybig

1
단일 답변은 대상 IP / 호스트 주소에 따라 여러 프록시 주소를 포함 할 수있는 pac 스크립트 사용 방법을 나타냅니다. 누구든지 도와주세요.
Partha Sarathi Ghosh

2
나를 proxy.pac위해 프록시 주소를 얻기 위해 파일 을 여는 데 도움이되었습니다 . (제 경우에는 단순히 포트를 8080으로 전환해야했습니다).
유목민

@ParthaSarathiGhosh 맞습니다. 실제로 PAC 스크립트를 사용하는 방법에 대한 설명은 없었으므로 stackoverflow.com/a/61811444와 같은 다른 대답을 추가했습니다 . 몇 년 늦었지만 결코 늦지 않는 것이 낫습니까?
user1031921

답변:


204

방금 프록시 서버 뒤에서 npm을 사용할 수없는 매우 비슷한 문제가 있습니다.

내 사용자 이름은 "domain \ username"형식입니다. 프록시 구성에 슬래시를 포함하면 슬래시가 나타납니다. 그래서 이것을 입력하십시오 :

npm config set proxy "http://domain\username:password@servername:port/"

다음이 실행 npm config get proxy반환이 : HTTP : // 도메인 / 사용자 이름 : 암호 @ 서버 이름 : 포트 /

따라서 문제를 해결하기 위해 대신 백 슬래시를 URL로 인코딩 했으므로 다음과 같이 입력하십시오.

npm config set proxy "http://domain%5Cusername:password@servername:port/"

그리고 이것으로 프록시 액세스가 수정되었습니다.


5
그 원인 당신이 C 인은 % 5C의 .KEY 부분 누락 .... 내가 나중에 그것을 밖으로 간격 참조
sinisterrook

1
방금 물건을 업데이트하고 프록시가 다시 작동을 멈췄습니다. .npmrc 파일의 "proxy"설정 (아래 @Ovidiu Buligan에서 언급 한대로)에는 백 슬래시에 대한 % 5C가 포함되어 있지만 "https-proxy"에는 "\"만 포함되어 있습니다. % 5C로 이것을 변경하면 문제가 해결되었습니다. npm config set http_proxy " domain % 5Cusername : password @ servername : port /"
Steve Roberts

1
프록시 뒤에 npm을 구성하려고하는데 npm 구성을 사용하여 "ping"을 수행하는 방법이 있습니다. conf가 잘못되면 사용자가 회사 도메인에서 차단됩니다.
Ricardo

3
무엇 나를 위해 일한 것은하는 것입니다 CLEAR 먼저 이놈 환경 변수를. set HTTP_PROXY =를 사용 하고 HTTPS_PROXY =를 설정하십시오
Sydwell

4
회사 프록시 뒤에 해결 strict-ssl=false.npmrc구성 파일에 추가 - @ ovidiu-buligan@ karthikeyan-a의
Alexander McFarlane

64

의 URL을 찾아보십시오 pac인터넷 익스플로러 랜 설정에서 파일 및 구성 URL에서 PAC 파일을 다운로드합니다. pac 파일은 FindProxyForURL다른 시나리오에서 다른 프록시 호스트를 반환 하는 함수라는 이름의 Javascript 파일입니다 .

해당 pac 파일에서 일반적인 웹 트래픽에 대한 것으로 생각되는 호스트를 찾아서 .npmrc에 연결하십시오. C:\Users\<username>\.npmrc

proxy=http://<username>:<pass>@proxyhost:<port>
https-proxy=http://<uname>:<pass>@proxyhost:<port>

회사 컴퓨터에서 도메인 및 사용자 이름으로 로그인 할 수 있지만 프록시에는 사용자 활성 디렉토리 도메인 이름이 필요하지 않으며 사용자 이름 및 비밀번호 만있을 수 있습니다 (Active Directory 로그인과 다를 수 있음).

특별한 비밀번호 문자를 피하는 것을 잊지 마십시오.


감사. .npmrc로 이동하여 설정을 변경했습니다. 그것은 작동
arn-arn

54

.pac파일을 다운로드하십시오 . 아무 편집기에서나 열고를 찾으십시오 PROXY = "PROXY X.X.X.X:80;. 많은 프록시가있을 수 있으며 프록시를 복사 한 후 다음 터미널 명령을 실행하십시오.

npm config set proxy http://X.X.X.X:80
npm config set https-proxy http://X.X.X.X:80

이제 모든 패키지를 설치할 수 있습니다!


1
https-proxy 부분의 경우 "... https-proxy http : // ..."대신 "... https-proxy = http : // ..."대신 설정해야합니다. 작업. 그냥 내 $ .02.
Nick

https-proxy를 http : //로 설정하는 것이 감사합니다. bash에서 http_proxy 및 https_proxy 환경 변수를 설정 해제 한 후!
Alex Punnen 2016 년

https-proxy의 경우 "set https-proxy https : /.../"로 설정할 수 없습니다. "set https-proxy http : // ..."(https-> 프록시 정보)로 설정해야했습니다. http)
Mars

git도 마찬가지입니다.git config --global http.proxy http://X.X.X.X:80 git config --global https.proxy http://X.X.X.X:80
Code Name Jack

38

이 방법 으로이 문제를 해결했습니다.

1) 나는이 명령을 실행 :

npm config set strict-ssl false

2) 그런 다음 https 대신 http로 실행되도록 npm을 설정하십시오.

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

3) 그런 다음 패키지를 설치하십시오.

npm install <package name>


2
npm의 strict-sslfalse 로 설정하는 것은 보안 문제입니다. 대신 ca[]npm에 속성을 올바르게 설정하십시오 .
Aaron C

26

@Steve Roberts의 답변을 확장하십시오.

내 사용자 이름은 "domain \ username"형식입니다. 프록시 구성에 슬래시를 포함하면 슬래시가 나타납니다. 그래서 이것을 입력하십시오 :

npm config set proxy "http://domain\username:password@servername:port/"

또한 URL을 인코딩해야했습니다. domain\user 문자열 해야했지만 사용자 이름 안에 공백이 있으므로 +공백 URL 인코딩을 인코딩하기 위해 두 번 인코딩 할 수 있지만 %2B(더하기 부호의 URL 인코딩이지만 URL은 공백 인코딩은%20 )이므로 대신 다음을 수행해야했습니다.

npm 명령

// option one 
// it works for some packages
npm config set http_proxy "http://DOMAIN%5Cuser+name:password@x.x.x.x:port"
npm config set proxy "http://DOMAIN%5Cuser+name:password@x.x.x.x:port"

// option two
// it works best for me
// please notice that I actually used a space 
// instead of URL encode it with '+', '%20 ' OR %2B (plus url encoded)
npm config set http_proxy "http://DOMAIN%5Cuser name:password@x.x.x.x:port"
npm config set proxy "http://DOMAIN%5Cuser name:password@x.x.x.x:port"

// option two (B) as of 2019-06-01
// no DOMAIN
// instead of URL encode it with '+', '%20 ' OR %2B (plus url encoded)
npm config set http_proxy "http://user name:password@x.x.x.x:port"
npm config set proxy "http://user name:password@x.x.x.x:port"

npm 구성 문제 해결

나는 npm config list위에서 설정 한 파싱 된 값을 얻기 위해를 , 이것이 이중 인코딩에 대해 알아 낸 방법입니다. 기묘한.

기본적으로 다음 요구 사항을 파악해야합니다.

  1. 입니다 DOMAIN 문자열은 인증에 필요한
  2. 특수 문자를 인코딩해야합니까?
    • 공백과 at (@) 표시는 특별히 까다 롭습니다.

문안 인사.

WINDOWS 환경 변수 (CMD 프롬프트)

최신 정보

위의 구성으로도 요청- 내부적으로 단순화 된 HTTP 클라이언트 를 사용 하여 물건을 다운로드 하는 일부 패키지 / 스크립트에 여전히 문제가 있음이 밝혀 졌습니다. 위의 추가 정보에서 설명한 것처럼 환경 변수를 지정할 수 있습니다. 명령 행에서 프록시를 설정하기 위해 를 있으며 요청은 해당 값을 준수합니다.

그런 다음 환경 변수를 설정하려고 여러 번 시도한 후 (그리고인정하기를 꺼려합니다) 마침내 다음 지침에 따라 성공했습니다.

rem notice that the value after the = has no quotations
rem    - I believe that if quotations are placed after it, they become
rem    part of the value, you do not want that
rem notice that there is no space before or after the = sign
rem     - if you leave a space before it, you will be declaring a variable 
rem     name that includes such space, you do not want to do that
rem     - if you leave a space after it, you will be including the space
rem     as part of the value, you do not want that either
rem looks like there is no need to URL encode stuff in there
SET HTTP_PROXY=http://DOMAIN\user name:password@x.x.x.x:port
SET HTTPS_PROXY=http://DOMAIN\user name:password@x.x.x.x:port

cntlm

프록시 설정이 필요한 모든 도구에서 비밀번호를 업데이트하는 오버 헤드를 인식 할 때까지 위의 기술을 몇 주 동안 사용했습니다.

npm 외에도 다음을 사용합니다.

  • 나무 그늘
  • 방랑자
    • 가상 상자 (리눅스 실행)
    • apt-get [linux]
  • 자식
  • vscode
  • 괄호
  • 원자
  • tsd

cntlm 설정 단계

그래서 cntlm을 설치 했습니다 . 설정 cntlm은 꽤 앞으로 진행됩니다 .Ini 파일 @C:\Program Files\Cntlm\cntlm.ini

  1. 개방 C:\Program Files\Cntlm\cntlm.ini(관리자 권한이 필요할 수 있음)
  2. 대한 모양 UsernameDomain선 (라인 8-9 나는 생각한다)
    • 사용자 이름을 추가하십시오
    • 도메인을 추가하십시오
  3. cmd 프롬프트에서 다음을 실행하십시오.

    cd C:\Program Files\Cntlm\
    cntlm -M
    cntlm -H  
    • 비밀번호를 묻는 메시지가 나타납니다.
     cygwin warning:
       MS-DOS style path detected: C:\Program Files\Cntlm\cntlm.ini
       Preferred POSIX equivalent is: /Cntlm/cntlm.ini
       CYGWIN environment variable option "nodosfilewarning" turns off this warning.
       Consult the user's guide for more details about POSIX paths:
         http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
     Password:
  4. 당신이 얻는 결과 cntlm -H는 다음과 같습니다.

    PassLM          561DF6AF15D5A5ADG  
    PassNT          A1D651A5F15DFA5AD  
    PassNTLMv2      A1D65F1A65D1ASD51  # Only for user 'user name', domain 'DOMAIN'
    • 당신이 PassNTLMv2이 때문에 추가 사용하는 것이 시스템 권장되어 #줄 앞에 PassLMPassNT하거나 사용하지 않는
  5. , 및 cntlm -H의 행을 바꾸어 ini 파일 의 출력을 붙여 넣거나 원래 행을 주석 처리하고 추가하십시오.PassLMPassNTPassNTMLv2
  6. Proxy서버를 추가하십시오 . 프록시 서버가 무엇인지 모르는 경우 ... 수행 한 작업을 수행하십시오 . 에서 AutoConfigURL레지스트리 키를 찾아서 프록시 자동 구성 파일을 찾으십시오 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings. 해당 URL로 이동하여 JavaScript 인 코드를 살펴보십시오.
  7. 선택적으로 Listen ####회선 ####번호 를 변경하여 cntlm이 청취하는 포트를 변경할 수 있습니다 .

cntlm으로 NPM 설정

따라서 npm을 cntml 프록시로 지정하면 ip, 내가 사용한 localhostcntlm의 기본 포트를 사용할 수 3128있으므로 프록시 URL은 다음과 같습니다.

http://localhost:3128

적절한 명령으로 :

npm 구성 세트 프록시 http : // localhost : 3128

훨씬 간단합니다. 모든 URL을 동일한 URL로 설정하고 한 곳에서만 비밀번호를 업데이트합니다. 인생은 훨씬 간단하지 않습니다.

npm CA 인증서를 설정해야 함

npm 문서 캘리포니아에서

회사 프록시가 자체 자체 서명 된 인증서로 https 연결을 가로채는 경우이를 피해야합니다. npm config set strict-ssl false (아니요)

기본 단계

  1. 브라우저에서 인증서를 받으십시오 (Chromes가 잘 작동 함). Base-64로 인코딩 된 X.509 (.CER) 로 내보내기
  2. 줄 바꾸기를 \n
  3. .npmrc라인 추가 편집ca[]="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"

이슈

때때로 npm 종류의 중단이 발생 했으므로 cntlm을 중지 하고 다시 시작합니다.


7

나는 이것과 관련하여 몇 가지 문제를 겪었고 마침내 내가 한 일은 다음과 같습니다.

  1. "자동 인증"이 선택된 Fiddler 사용
  2. 피들러 커스텀 규칙에서

    if (m_AutoAuth) {oSession["X-AutoAuth"] = "domain\\username:password";}
  3. 마지막으로 npm에서 프록시를 http : // localhost : 8888로 설정했습니다.

이것은 잘 작동했습니다.


감사! 매력처럼 일했다!! 내 시나리오 : 사용자 이름은 "도메인 / 사용자 이름"형식이었습니다. 비밀번호에 "@"가 있습니다. URL 인코딩 / 디코딩 등을 전혀하지 않아도됩니다.
A_B

나를 위해 완벽하게 일했습니다. 정말 고맙습니다. 사용 "domain\\username:password"하면 Identity Theft의 보안 위협이 될 수 있다고 지적하고 싶었습니다 . 대신 "(default)"사용자 지정 규칙에서 구성을 사용하면 매력적으로 작동했습니다. 이 작업을 수행하려면 "npm"을 사용하는 동안 Fiddler를 실행해야합니다.
pk10

7

회사 방화벽으로 어려움을 겪고있는 사람과 SSL 문제 (로컬 발급자 인증서를 얻을 수 없음)와 관련하여 다음과 같은 몇 가지 단계를 수행 할 수 있습니다.

SSL 잊어 버려

SSL이 염려되지 않으면 프록시를 설정하고 레지스트리를 비보안 버전으로 변경하여 이전의 많은 컨트 리뷰 터의 조언을 따를 수 있습니다.

npm config set proxy http://username:password@proxyname:port
npm config set https-proxy http://username:password@proxyname:port
npm config set registry http://registry.npmjs.org/

여기서 빠른 "gotcha", 프록시 자격 증명은 보안 및 보안되지 않은 요청에 대해 동일합니다 ( https-proxy 구성 의 경우 프로토콜을 http : // 로 유지 한 방법에 주목 ). 이것은 당신에게 동일 할 수도 있고 그렇지 않을 수도 있습니다.

SSL을 유지하고 싶습니다

SSL을 유지하고을 사용하지 않으려면 strict-ssl=false더 많은 작업이 필요합니다. 나를 위해 회사 방화벽을 사용하고 자체 서명 된 인증서를 사용하고 있으므로 오류가 발생 unable to get local issuer certificate합니다. 나와 같은 보트에 있다면 cafile=npm 구성 파일에서 옵션 을 설정해야 합니다. 먼저 자체 서명 된 인증서에 대한 정보를 보유한 PEM 파일을 작성해야합니다. 방법을 모르는 경우 타사 소프트웨어를 사용하지 않는 Windows 환경에 대한 지침은 다음과 같습니다.

자체 서명 인증서를 사용하고 있으므로 어떤 인증서를 신뢰해야하는지 명시 적으로 표시해야합니다. 예를 들어 Chrome을 사용하여 www.google.com으로 이동하여 인증서를 얻을 수있었습니다.

Chrome에서 검사-> 보안-> 인증서보기로 이동하십시오. SSL 연결을 허용하는 모든 인증서가 표시됩니다. 이러한 인증서가 자체 서명 된 방식을 확인하십시오. 희미한 부분은 내 회사이며 인증 기관이 아닙니다. 전체 인증서 경로를 P7B 파일로 내보내거나 인증서를 CER 파일 (base64 인코딩)로 개별적으로 내보낼 수 있습니다. 전체 경로를 P7B로 내보내는 것은 인증서 관리자에서이 파일을 열고 개별 CER 파일로 내 보내야하기 때문에 크게 도움이되지 않습니다. Windows에서 P7B 파일을 두 번 클릭하면 Certificate Manager 응용 프로그램이 열립니다.

여기에 이미지 설명을 입력하십시오

CER (Base 64)로 내보내기는 실제로 다음 형식의 텍스트 파일입니다.

-----BEGIN CERTIFICATE-----
MIIGqzCCBZOgAwIBAgITIwAAABWhFPjwukYhTAADAAAAFTANBgkqhkiG9w0BAQUF
ADBFMRMwEQYKCZImiZPyLGQBGRYDY29tMRYwFAYKCZImiZPyLGQBGRYGaXJ2aW5n
b0pvCkNmjWzaNNUg2hYET+pP5nP75aRu+kPRl9UnlQ....rest of certificate...
-----END CERTIFICATE-----

PEM 파일을 만들려면 이러한 인증서를 서로의 단일 파일로 쌓고 확장자를 .pem으로 변경하면됩니다. 메모장을 사용 하여이 작업을 수행했습니다.

인증서 경로에서 인증서를 역순으로 쌓습니다. 위의 * .google.com으로 시작한 다음 Websense를 그 아래에 붙여 넣은 다음 CA 1 발행 등을 수행합니다. 이렇게하면 인증서가 위에서 아래로 구문 분석되어 적절한 루트 CA를 검색합니다. 루트 CA를 포함하는 것만으로는 작동하지 않지만 모든 인증서를 포함 할 필요는 없습니다. 위의 경로에서 Websense 인증서 (CA 1, 정책 CA, 루트 CA) 앞에 오는 인증서 만 포함하면됩니다.

이러한 자체 서명 된 인증서가 PEM 파일에 저장되면 npm에 이러한 인증서를 신뢰할 수있는 CA로 사용하도록 지시 할 준비가되었습니다. 구성 파일을 설정하기 만하면됩니다.

npm config set cafile "C:\yourcerts.pem"

이제 프록시 (http 및 https)를 설정하고 레지스트리를로 설정 https://registry.npmjs.org하면 strict-ssl설정 을 방해하지 않고 자체 서명 된 인증서를 사용하여 회사 방화벽 뒤에 패키지를 설치할 수 있습니다 .


6

NPM에서 인증 오류가 발생하면 Fiddler를 확인할 수 있습니다. 설치 및 구성이 쉽습니다. 피들러 규칙을 자동 인증으로 설정합니다.

registry=http://registry.npmjs.org
proxy=http://127.0.0.1:8888
https-proxy=http://127.0.0.1:8888
http-proxy=http://127.0.0.1:8888
strict-ssl=false

그것은 나를 위해 일했다 :)


놀랍게도, 내가 프록시에 사용한 구성 중 어느 것도 효과가 없었으며, 이것을 사용하고 열린 피들러를 사용하여 잘 사용할 수있었습니다 ...
Roberto

5

다음과 같이 npm에 프록시를 설정하십시오.

npm config set proxy "http://<user-name>:<password>@<proxy-url>:<port>"
npm config set https-proxy "http://<user-name>:<password>@<proxy-url>:<port>"
npm config set strict-ssl false
npm config set registry "http://registry.npmjs.org/"

4

서버 관리자 나 지원으로부터 프록시 호스트와 포트를 얻습니다.

그 설정 후

npm config set http_proxy http://username:password@proxyofmycomp.com:itsport
npm config set proxy http://username:password@proxyofmycomp.com:itsport

비밀번호에 특수 문자가 있으면 % urlencode로 시도하십시오. 예 :-파운드 (해시) shuold는 % 23으로 대체됩니다.

이것은 나를 위해 일했다 ...


3

프로젝트 폴더에 .npmrc 파일이라는 파일을 만들면 시스템 수준에서 프록시 설정을 피할 수 있습니다.

#Without password
proxy=http://ipaddress:80
https-proxy=http://ipaddress:80

#With password
proxy=http://<username>:<pass>@proxyhost:<port>
https-proxy=http://<uname>:<pass>@proxyhost:<port>

프록시를 사용하지 않는 경우 이와 같은 의견

#proxy=http://ipaddress:80
#https-proxy=http://ipaddress:80

#With password
#proxy=http://<username>:<pass>@proxyhost:<port>
#https-proxy=http://<uname>:<pass>@proxyhost:<port>

3

기존 답변 중 어느 것도 PPM 파일과 함께 npm을 사용하는 방법을 설명하지 않습니다. 일부는 PAC 파일을 다운로드하여 수동으로 검사하고 "PROXY ..."문자열 중 하나를 선택하도록 제안합니다. 그러나 PAC 파일이 여러 프록시 중에서 선택해야하거나 PAC 파일에 특정 URL의 프록시를 우회하는 복잡한 논리가 포함 된 경우에는 작동하지 않습니다.

또한 일부 회사 프록시에는 NTLM 인증이 필요합니다. CNTLM은 인증을 처리 할 수 ​​있지만 PAC 파일은 지원하지 않습니다.

대안은 JavaScript VM에서 PAC 파일을 실행하고 결과 프록시로 NTLM 인증을 수행 하는 Alpaca 를 사용하는 것입니다 .


2

프록시가있는 회사 네트워크 뒤에 있다면 ntlm 프록시 도구를 사용하고 ntlm이 제공 한 포트와 프록시를 사용했습니다.

strict-ssl=false
proxy=http://localhost:3125

이게 도움이 되길 바란다.


2

cmd 또는 GIT Bash 또는 다른 프롬프트에서 아래 명령을 사용하십시오.

$ npm config set proxy "http://192.168.1.101:4128"

$ npm config set https-proxy "http://192.168.1.101:4128"

여기서 192.168.1.101은 프록시 ip이고 4128은 포트입니다. 프록시 설정에 따라 변경하십시오.


2

"npm config set http-proxy "를 사용해야합니다.

사용하다:

npm config set http-proxy http://1.2.3.4:8181
npm config set https-proxy http://1.2.3.4:8181


1

이것을 시도해보십시오. 그것은 나를 위해 일한 유일한 사람이었습니다.

npm --proxy http : // : @proxyhost : --https-proxy http : // : @proxyhost : --strict-ssl false install -g 패키지

옵션 --strict-ssl false에주의를 기울이십시오.

행운을 빕니다.


1

NPM의 허용 대답에 언급 된 프록시 설정이 문제를 해결하지만, 당신이 볼 수 있듯이 NPM 문제 , 일부 종속성 GIT를 사용하고는한다 필요한 자식 프록시 설정을 하고, 다음과 같이 수행 할 수 있습니다 :

git config --global http.proxy http://username:password@host:port
git config --global https.proxy http://username:password@host:port

NPM 프록시 설정에 대해 언급했습니다.

npm config set proxy "http://username:password@host:port"
npm config set https-proxy "http://username:password@host:port"
npm config set strict-ssl false
npm config set registry "http://registry.npmjs.org/"

0

비슷한 문제가 발생하여 위의 모든 해결 방법을 시도했지만 그 중 어느 것도 나를 위해 일하지 않았습니다 (암호에 특수 문자 (예 : '@'기호)를 사용하고 있었고 도메인 이름을 추가해야했습니다).

그 외에도 암호를 일반 텍스트로 추가하는 것이 조금 불안했습니다. 이러한 모든 문제를 극복하는 가장 쉬운 해결책은 Fiddler와 같은 일종의 리버스 프록시를 사용하는 것이 었습니다.

답변 의 구성 단계를 이미 SO 에 자세히 설명했습니다 .


0

.typingsrc 파일에 아래 줄을 추가하면 도움이되었습니다.

{
    "rejectUnauthorized": false,
    "registryURL" :"http://api.typings.org/"
 }

0

비슷한 문제가 발생하여 npm 구성 파일 (.npmrc)에 잘못된 레지스트리 항목이 있음을 알았습니다. 그것을 주석 처리하고 npm install을 다시 실행했습니다. 효과가있었습니다.


0

운영체제 : Windows 7

나를 위해 일한 단계 :

  1. npm config get proxy
  2. npm config get https-proxy

  3. 주석 : 프록시 설정을 알기 위해이 명령을 실행했습니다.
    npm config rm proxy

  4. npm config rm https-proxy
  5. npm config set registry=http://registry.npmjs.org/
  6. npm install

0

직장에서 프록시 설정을 설정하고 집에서 끄는 데 여전히 문제가 있기 때문에 스크립트를 작성하고 npm-corpo-proxy.sh를 게시 했습니다 . 모든 회사에서 비밀번호를 자주 변경해야하며 특수 문자를 포함해야합니다.이 문자는 npm 구성을 제공하기 전에 인코딩해야합니다 (도메인 양식 도메인 \ 사용자와 동일).


0

Google에서 조금만 검색하면 가장 먼저 시도한 것은

npm config set registry http://registry.npmjs.org/
npm config set proxy "your proxy"
npm config set https-proxy "your proxy"

그러나 여전히 npm 설치를 시도 할 때 npm의 연결이 끊어졌습니다. 그런 다음 명령 프롬프트 에서이 줄을 실행했으며 이제 npm install을 사용할 수 있습니다

set NODE_TLS_REJECT_UNAUTHORIZED=0

0

CNTLM에서 작동하지 못했습니다. 위에 게시 된 모든 정보를 따르려고했지만 프록시는 여전히 연결을 승인하지 않았습니다. Fiddler를 사용하면 설치하고 자동 인증 옵션을 확인하면됩니다. 그러나 작동하려면 사용자 폴더에서 .npmrc 파일을 제거하고 여기표시된 환경 변수 를 다음 값으로 설정해야했습니다.

set npm_config_https-proxy="http://127.0.0.1:8888"

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