Kurumsal proxy .pac arkasında npm kullanma


158

Npm üzerinden birkaç paket indirmem gerekiyor ama kurumsal proxy yapılandırmamız bir .pac dosyası (Windows'tayım)

Çoktan denedim

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

veya

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

ama işe yaramıyor ...

herhangi bir öneri? Teşekkürler



8
Bence bu soru yineleniyor, pac komut dosyaları hedef ip / ana bilgisayar adresine bağlı olarak birden fazla proxy adresi içerebilirken, dube yalnızca 1 proxy adresini
adresliyor

1
Tek bir yanıt, hedef ip / ana bilgisayar adresine bağlı olarak birden çok proxy adresi içerebilen pac komut dosyalarının nasıl kullanılacağını göstermez. Birisi yardım edebilir mi lütfen.
Partha Sarathi Ghosh

2
Benim için, proxy.pacproxy adresini almak için dosyanın açılmasına yardımcı oldu . (Benim durumumda portu 8080'e değiştirmek zorunda kaldım).
Göçebe

@ParthaSarathiGhosh Haklısın, cevapların hiçbiri PAC komut dosyalarının nasıl kullanılacağını açıklamadı, bu yüzden bunu ele alan başka bir cevap ekledim: stackoverflow.com/a/61811444 . Birkaç yıl geçti, ama hiç olmadığı kadar iyi mi?
user1031921

Yanıtlar:


204

Proxy sunucumuzun arkasında çalışmak için npm alamadığım çok benzer bir sorun yaşadım.

Kullanıcı adım "domain \ username" biçimindedir - proxy yapılandırmasındaki eğik çizgi de dahil olmak üzere eğik çizgi oluşmasına neden oldu. Yani buna girmek:

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

daha sonra bunu çalıştırdığınızda şunu npm config get proxydöndürür: http: // domain / kullanıcı adı: password @ servername: port /

Bu nedenle sorunu düzeltmek için URL ters eğik çizgiyi kodladı, bu yüzden bu girildi:

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

ve bununla proxy erişimi düzeltildi.


5
onun neden eksik% 5C .key kısmı C olmak .... görmek için aralıklı ya
sinisterrook

1
Bazı şeyleri güncelledim ve proxy'im tekrar çalışmayı durdurdu. .Npmrc dosyasının "proxy" ayarında (aşağıda @Ovidiu Buligan tarafından belirtildiği gibi) ters eğik çizgi için% 5C içerdiğini, ancak "https-proxy" nin sadece "\" içerdiği ortaya çıktı. Bunu% 5C olarak değiştirmek sorunu çözdü. Bunun http:proxy " domain% 5 nus config set
Steve Roberts

1
Proxy arkasında npm yapılandırmaya çalışıyorum, ancak npm yapılandırmasını kullanarak bir "ping" yapmanın bir yolu var. Çünkü benim conf yanlışsa kullanıcı benim kurumsal etki alanı engellenir.
Ricardo

3
Ne benim için çalıştı etmektir TEMİZLEMEK ilk lanetlemek çevresel değişkenler. HTTP_PROXY = setini kullanın ve HTTPS_PROXY =
Sydwell

4
Ekleme strict-ssl=falseiçin .npmrckurumsal bir proxy arkasında benim için çözülmüş yapılandırma dosyası - dan yanıtları görmek @ ovidiu-buligan ve @ Karthikeyan-a
Alexander McFarlane

64

pacInternet explorer lan ayarlarında dosyanın url'sini arayın ve yapılandırılan URL'den pac dosyasını indirin. Pac dosyası, FindProxyForURLfarklı senaryolarda farklı proxy ana bilgisayarları döndüren adlı bir işleve sahip sadece bir javascript dosyasıdır .

Genel web trafiği için olduğunu düşündüğünüz pac dosyasında bir ana bilgisayar bulmaya çalışın ve .npmrc'ye takın. C:\Users\<username>\.npmrc

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

Şirket makinenizde etki alanınız ve kullanıcı adınızla oturum açabilmenize rağmen , kullanıcı etkin dizin etki alanı adının proxy için gerekli olmaması , yalnızca kullanıcı adı ve parola (Active Directory giriş bilgilerinizden farklı olabilir)

Kaçan özel şifre karakterleriyle uğraşmayı unutmayın.


Teşekkürler. i .npmrc'ye gidin ve ayarları değiştirin. çalıştı
arn-arn

54

.pacDosyanızı indirin . Herhangi bir düzenleyicide açın ve arayın PROXY = "PROXY X.X.X.X:80;. Çok sayıda proxy'niz olabilir, herhangi birini kopyalayabilir ve aşağıdaki terminal komutlarını çalıştırabilirsiniz:

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

Şimdi herhangi bir paket yükleyebilmelisiniz!


1
Https-proxy bölümü için "... https-proxy http: // ..." yerine "https-proxy = http: // ..." ayarlamam gerekiyordu. iş. Sadece benim 0,02 dolarım.
Nick

Https-proxy'yi http: // olarak ayarladığınız için çalışan tek şey budur; http_proxy ve https_proxy ortam değişkenlerini bash'tan kaldırdıktan sonra!
Alex Punnen

Https-proxy için, "https-proxy https: /.../" olarak ayarlanamadım, "https-proxy http: // ..." olarak ayarlamam gerekiyordu (https -> http)
Mars

aynı şey git için de geçerli,git config --global http.proxy http://X.X.X.X:80 git config --global https.proxy http://X.X.X.X:80
Kod Adı Jack

38

Bu sorunu şu şekilde çözdüm:

1) Bu komutu çalıştırıyorum:

npm config set strict-ssl false

2) Sonra npm'yi https yerine http ile çalışacak şekilde ayarlayın:

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

3) Sonra paketinizi yükleyin

npm install <package name>


2
Sadece npm'in ssl değerini false olarak ayarlamanın bir güvenlik sorunu olduğunu belirtmek gerekir . Bunun yerine ca[]özelliği npm'de düzgün şekilde ayarlamayı düşünün .
Aaron C

26

@Steve Roberts cevabını genişletmek için.

Kullanıcı adım "domain \ username" biçimindedir - proxy yapılandırmasındaki eğik çizgi de dahil olmak üzere eğik çizgi oluşmasına neden oldu. Yani buna girmek:

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

Ben de benim domain\userdize kodlamak URL gerekiyordu , ancak, ben kullanıcı adı içinde bir boşluk var bu yüzden bir +boşluk URL kodlama kodlamak için koymak , ama %2B( olarak artı işareti için URL kodlama, ancak URL olarak çift kodlanmış olur bir boşluk için kodlama %20), bu yüzden bunun yerine aşağıdakileri yapmak zorunda kaldım:

npm komutu

// 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 yapılandırma sorunlarını giderme

Ben npm config listyukarıda ayarlanmış ayrıştırılmış değerleri almak için kullanılır ve ben bu şekilde çift kodlama hakkında öğrendim. Tuhaf.

Temel olarak aşağıdaki gereksinimleri anlamanız gerekir:

  1. DOMAINKimlik doğrulama için bir dize gerekli mi
  2. Özel karakterleri kodlamanız mı gerekiyor?
    • Alanlar ve (@) işaretler özellikle zorlayıcıdır

Saygılarımızla.

WINDOWS ORTAM DEĞİŞKENLERİ (CMD Komut İstemi)

Güncelleme

Yukarıdaki yapılandırmalarda bile, hala şeyler indirmek için dahili olarak İstek - Basitleştirilmiş HTTP istemcisi kullanan bazı paketler / komut dosyalarıyla bazı sorunlar yaşadığım ortaya çıkıyor . Bu nedenle, yukarıdaki benioku açıklamasında, proxy'yi komut satırında ayarlamak için ortam değişkenlerini belirtebiliriz ve Request bu değerleri onurlandırır.

Sonra, çevre değişkenlerini ayarlamaya çalıştıktan sonra (ve bunu kabul etmek konusunda isteksizim) birkaç deneme (daha çok günler gibi), nihayet aşağıdaki yönergelerle başardım:

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

Proxy kurulumunu gerektiren tüm araçlarda şifremi güncelleme yükünü fark edene kadar yukarıdaki tekniği birkaç hafta boyunca kullandım.

Npm dışında, ben de kullanıyorum:

  • kameriye
  • serseri
    • sanal kutu (linux çalışıyor)
    • apt-get [linux]
  • git
  • vscode
  • parantez
  • atom
  • TSD

cntlm Kurulum Adımları

Bu yüzden cntlm'yi kurdum . Ayar cntlmoldukça ileri doğrudur, @ ini dosyasını arayınC:\Program Files\Cntlm\cntlm.ini

  1. Açık C:\Program Files\Cntlm\cntlm.ini(yönetici haklarına ihtiyacınız olabilir)
  2. Usernameve Domainhatları arayın (bence 8-9 hattı)
    • kullanıcı adınızı ekleyin
    • alan adınızı ekleyin
  3. Cmd komut isteminde:

    cd C:\Program Files\Cntlm\
    cntlm -M
    cntlm -H  
    • sizden şifre istenecektir:
     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. Aldığınız çıktı aşağıdaki cntlm -Hgibi görünecektir:

    PassLM          561DF6AF15D5A5ADG  
    PassNT          A1D651A5F15DFA5AD  
    PassNTLMv2      A1D65F1A65D1ASD51  # Only for user 'user name', domain 'DOMAIN'
    • PassNTLMv2 kullanmanız önerilir, bu nedenle bir #satır öncesi satır ekleyin PassLMve PassNTveya kullanmayın
  5. Çıktı Yapıştır cntlm -Hiçin hatlar yerine ini dosyası PassLM, PassNTve PassNTMLv2, veya orijinal satırları açıklama ve kendi sitenizi ekleyin.
  6. ProxySunucularınızı ekleyin . Proxy sunucusunun ne olduğunu bilmiyorsanız ... Yaptığım şeyi yapın, AutoConfigURLKayıt Defteri anahtarını arayarak proxy otomatik yapılandırma dosyamı aradım HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings. Bu url'ye gidin ve JavaScript olan kodu inceleyin.
  7. İsteğe bağlı olarak, cntlm'nin dinlediği bağlantı noktasını, bağlantı noktası numarası olan Listen ####satırı değiştirerek değiştirebilirsiniz ####.

Cntlm ile NPM kurulumu

Yani, cntml proxy'nize npm işaret, sen ipucu kullanabilirsiniz, kullandığım localhostve cntlm için varsayılan bağlantı noktası 3128böylece proxy url böyle görünüyor

http://localhost:3128

Doğru komutla:

npm yapılandırma kümesi proxy'si http: // localhost: 3128

Çok daha basit. Tüm araçlarınızı aynı url ile ayarlarsınız ve şifreyi yalnızca bir yerde güncellersiniz. Hayat çok daha basit değil.

Kurulum gerekir npm CA sertifikası

Npm dokümantasyonundan ca

Kurumsal proxy'niz kendi Kendinden İmzalı Sertifika ile https bağlantılarını engelliyorsa, bu kaçınılması gereken bir durumdur npm config set strict-ssl false (büyük hayır-hayır).

Basit adımlar

  1. Sertifikayı tarayıcınızdan alın (Chromes iyi çalışır). Base-64 kodlu X.509 (.CER) olarak dışa aktarın
  2. Yeni satırları şununla değiştir: \n
  3. Senin düzenleme .npmrceklenti bir çizgica[]="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"

Sorunlar

Ben bazen askıda npm tür tha fark ettim, bu yüzden (bazen zorla) cntlm durdurmak ve yeniden başlatın.


7

Bu konuda birkaç sorunla karşılaştım ve son olarak yaptığım şey şu:

  1. "Otomatik Kimlik Doğrulama" seçiliyken Fiddler kullanıldı
  2. Kemancı özel kurallarına ekledim

    if (m_AutoAuth) {oSession["X-AutoAuth"] = "domain\\username:password";}
  3. Sonunda npm'de proxy'yi http: // localhost: 8888 olarak ayarladım

Bu iyi çalıştı.


Teşekkürler! Bir cazibe gibi çalıştı! Senaryom: Kullanıcı adı "alan / kullanıcı adı" biçimindeydi. Şifrede bir "@" vardı. Hiç URL kodlama / kod çözme vb.
Yapmak zorunda kalmadım

Benim için mükemmel çalıştı. Çok teşekkür ederim. Sadece kullanmanın "domain\\username:password"Kimlik Hırsızlığı için bir güvenlik tehdidi oluşturabileceğini belirtmek istedim . Bunun yerine "(default)"özel kurallarda yapılandırma kullanmak büyüleyici bir şekilde çalıştı. Bunun için "npm" kullanırken Fiddler çalışıyor olmalıdır.
pk10

7

Bir şirket güvenlik duvarının arkasında mücadele eden ve SSL ile ilgili sorunlar (yerel yayıncı sertifikası alamıyor) için deneyebileceğiniz bazı adımlar şunlardır:

SSL'yi unutun

SSL ile ilgili endişeleriniz yoksa, proxy'lerinizi ayarlayıp kayıt defterini güvenli olmayan sürüme değiştirerek önceki birçok katkıda bulunanın tavsiyelerini takip edebilirsiniz:

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/

Burada hızlı bir "gotcha", proxy kimlik bilgilerim güvenli ve güvenli olmayan istekler için aynıdır ( https-proxy yapılandırması için protokolümü nasıl http: // olarak bıraktığımı görün ). Bu sizin için aynı olabilir ve olmayabilir.

SSL tutmak istiyorum

SSL'yi korumak istiyor ve kullanmak istemiyorsanız strict-ssl=false, yapacak daha çok işiniz var. Benim için şirket güvenlik duvarının arkasındayım ve kendinden imzalı sertifikalar kullanıyoruz, bu yüzden hatayı alıyorum unable to get local issuer certificate. Benimle aynı teknedeyseniz cafile=, npm config dosyasındaki seçeneği ayarlamanız gerekir . Öncelikle, kendinden imzalı sertifikalarınız hakkında bilgi tutan bir PEM dosyası oluşturmanız gerekir. Bunu nasıl yapacağınızı bilmiyorsanız, 3. taraf yazılımı kullanmadan bir Windows ortamı için talimatlar şunlardır:

Kendinden imzalı sertifikalar kullandığımız için hangi sertifikalara güvenilmesi gerektiğini açıkça belirtmeliyiz. Örneğim için, sertifikaları alabilmem için Chrome'u kullanarak www.google.com adresine gittim.

Chrome'da, İnceleme -> Güvenlik -> Sertifikayı Görüntüle'ye gidin. SSL bağlantısına izin veren tüm sertifikaları göreceksiniz. Bu sertifikaların nasıl imzalandığına dikkat edin. Bulanık kısım benim şirketim ve biz Sertifikalı Otorite değiliz. Sertifika yolunun tamamını P7B dosyası olarak verebilir veya sertifikaları tek tek CER dosyaları olarak dışa aktarabilirsiniz (base64 kodlaması). Tam yolu P7B olarak dışa aktarmak size çok iyi gelmez çünkü bu dosyayı bir sertifika yöneticisinde açmanız ve yine de tek tek CER dosyaları olarak dışa aktarmanız gerekir. Windows'ta P7B dosyasına çift tıklandığında Sertifika Yöneticisi uygulaması açılır.

resim açıklamasını buraya girin

CER (Base 64) olarak dışa aktarma gerçekten aşağıdaki biçimde bir metin dosyasıdır:

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

PEM dosyamızı oluşturmak için, bu sertifikaları üst üste tek bir dosyada yığınlamamız ve uzantıyı .pem olarak değiştirmeniz yeterlidir. Bunu yapmak için not defteri kullandım.

Sertifikaları, sertifika yolundan ters sırada yığınlayın. Bu nedenle, yukarıda * .google.com ile başlayıp Websense'i altına yapıştırdıktan sonra CA 1 vb. Yayınlardım. Bu şekilde sertifikalar, uygun Kök CA'yı aramak için üstten alta doğru ayrıştırılır. Sadece Kök CA'yı dahil etmek işe yaramaz, ancak tüm sertifikaları da eklememiz gerekmez. Yukarıdaki yoldan, yalnızca Websense sertifikasından önce gelen sertifikaları eklemem gerekiyor (CA 1, İlke CA, Kök CA).

Kendinden imzalı bu sertifikalar bir PEM dosyasına kaydedildikten sonra, npm'ye bu sertifikaları güvenilir CA'mız olarak kullanma talimatı vermeye hazırız. Yapılandırma dosyasını ayarlamanız yeterlidir:

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

Şimdi, proxy'leriniz ayarlandığında (http ve https) ve kayıt defteri olarak ayarlandığında https://registry.npmjs.org, strict-sslayarı nuking etmeden kendinden imzalı sertifikalarla kurumsal güvenlik duvarının arkasına paketler yükleyebilmeniz gerekir .


6

NPM'nin Kimlik Doğrulama hatası verip vermediğini Fiddler'ı kontrol edebilirsiniz. Kurulumu ve yapılandırması kolaydır. Fiddler Kuralını Otomatik Olarak Doğrulandı olarak ayarlayın.

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

Benim için çalıştı :)


Şaşırtıcı bir şekilde, proxy'im için kullandığım yapılandırmaların hiçbiri işe yaramadı, bunu kullandım ve kemancı açtım ve gayet iyi kullanabildim ...
Roberto

5

Bunu deneyin, Proxy'yi npm olarak şu şekilde ayarlayın

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

Proxy ana bilgisayarını ve bağlantı noktasını sunucu yöneticinizden veya desteğinizden alırsınız.

Bu kurulumdan sonra

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

Parolada özel bir karakter varsa,% urlencode ile deneyin. Örn: - pound (hash) shuold,% 23 ile değiştirilir.

Bu benim için çalıştı ...


3

Sadece proje klasörünüzde .npmrc dosyası adlı bir dosya oluşturun, sistem düzeyinde proxy ayarından kaçınacaktır

#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 kullanmıyorsanız böyle bir yorum yapın

#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

Mevcut yanıtların hiçbiri npm'in bir PAC dosyasıyla nasıl kullanılacağını açıklamıyor. Bazıları PAC dosyasını indirmenizi, manuel olarak incelemenizi ve "PROXY ..." dizelerinden birini seçmenizi önerir. Ancak, PAC dosyasının birden çok proxy arasından seçim yapması gerekiyorsa veya PAC dosyası, belirli URL'ler için proxy'leri atlamak için karmaşık mantık içeriyorsa bu çalışmaz.

Ayrıca, bazı şirket proxy'leri NTLM kimlik doğrulaması gerektirir. CNTLM kimlik doğrulaması yapabilir, ancak PAC dosyalarını desteklemez.

Alternatif bir kullanmaktır Alpaka bir JavaScript VM PAC dosyayı çalıştırır, ve gerçekleştirir elde edilen proxy ile kimlik NTLM.


2

Proxy ile bir şirket ağının arkasındaysanız, sadece bir ntlm proxy aracı kullandım ve ntlm tarafından sağlanan bağlantı noktası ve proxy'yi kullandım, instnce için bu yapılandırmayı kullandım:

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

Umarım bu yardımcı olur.


2

Cmd veya GIT Bash veya diğer istemlerde aşağıdaki komutu kullanın

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

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

burada 192.168.1.101 proxy ip ve 4128 bağlantı noktasıdır. proxy ayarlarınıza göre değiştirin.


2

"Npm config set http-proxy " kullanmalısınız

kullanın:

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


1

Bunu deneyin, benim için çalışan tek şey buydu:

npm --proxy http: //: @proxyhost: --https-proxy http: //: @proxyhost: --strict-ssl yanlış kurulum -g paketi

Seçeneğe dikkat edin --strict-ssl false

İyi şanslar.


1

NPM kabul cevapta belirtildiği vekil kurulum sorunu çözmek, ancak görebileceğiniz gibi bu npm sorunu , bazı bağımlılıkları GIT kullanır ve yapar gerekli git vekil kurulum ve aşağıdaki gibi yapılabilir:

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

NPM proxy kurulumundan bahsedildi:

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

Benzer bir sorunum vardı ve yukarıdaki tüm geçici çözümleri denedim ama hiçbiri benim için çalıştı (şifremde özel karakterler kullanıyordum ('@' sembolü gibi) ve ayrıca alan adı eklemem gerekiyordu).

Bunun dışında şifremi düz metin olarak eklemek biraz endişeliydim. Tüm bu zorlukların üstesinden gelmenin en kolay çözümü bir tür ters proxy kullanmaktı (Fiddler gibi).

Zaten bu cevapta yapılandırma adımlarını ayrıntılı olarak anlattım .


0

Aşağıdaki satırları .typingsrc dosyasına eklemek bana yardımcı oldu.

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

0

Benzer bir sorunla karşılaştım ve npm config dosyamın (.npmrc) yanlış kayıt defteri girdisine sahip olduğunu öğrendim. yorum ve yeniden npm yükleme koştu. işe yaradı.


0

İşletim Sistemi: Windows 7

Benim için çalışan adımlar:

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

  3. Yorumlar: Proxy ayarlarımı bilmek için bu komutu yürüttüm
    npm config rm proxy

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

0

İş yerinde proxy ayarlarını yapma ve evde kapatma konusunda hala sorun yaşadığım için, komut dosyası yazdım ve npm-corpo-proxy.sh dosyasını yayınladım . Her şirkette parola sık sık değiştirilmeli ve npm config beslenmeden önce kodlanması gereken özel karakter içermelidir (geri yıkama formu etki alanı \ kullanıcı için aynıdır).


0

Google'da yapılan küçük bir aramadan denediğim ilk şey şuydu

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

Ama yine de npm "npm install" s yapmaya çalışırken bağlantı kaybediyor gibiydi. sonra bu satırı komut isteminde çalıştırdım ve şimdi npm install komutunu kullanabilirim

set NODE_TLS_REJECT_UNAUTHORIZED=0

0

CNTLM ile çalıştıramadım. Yukarıda yayınlanan tüm bilgileri takip etmeyi denedim, ancak proxy hala bağlantıyı yetkilendirmedi. Fiddler ile, yüklemeniz ve Otomatik Olarak Doğrulanmış seçeneğini işaretlemeniz yeterlidir. Ancak çalışmak için .npmrc dosyasını kullanıcı klasörümden kaldırmak ve ortam değişkenlerini burada gösterildiği gibi bu değerlerle ayarlamak zorunda kaldım :

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

set npm_config_registry="http://registry.npmjs.org/"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.