HTTP ve HTTPS için npm proxy ayarları
npm’in HTTP ve HTTPS proxy yollarını yapılandırın, noproxy istisnalarını anlayın ve TLS doğrulamasını kapatmadan özel CA kullanın.
npm’de ayrı proxy ve https-proxy ayarları vardır. Ayrım istek yapılan hedeftir. HTTPS’i tünelleyen normal HTTP proxy için iki değer de aynı http:// uç noktasını gösterebilir.
Proje düzeyinde bir .npmrc şunları içerebilir:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Belgelendirme uç noktasını proxy’nizle değiştirin; izinli genel kayıt deposu testleri için HTTP proxy listesi HTTP adayları verir. Son satır, adı verilen iç kayıt deposunu bilerek doğrudan bırakır. Bu başka bir proxy adresi değildir.
npm’den bir istek yapmasını isteyin
Önbellekten kurulum zayıf bir yönlendirme testidir: npm gereken her şeye zaten sahip olabilir. Bir kayıt deposu ping’i daha küçük kontroldür:
npm ping --registry=https://registry.npmjs.org/
Başarıyla tamamlanması, bu npm çağrısının o kayıt deposu yoluna ulaştığını gösterir. Her tarball sunucusunun, Git bağımlılığının veya ayrı paket yöneticisi sürecinin aynı yolu kullandığını kanıtlamaz.
Çelişen ayarı bulmak için hemen daha fazla dosya düzenlemek yerine etkin değerleri inceleyin:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Bu komutlar URL’ye gömülmüş kimlik bilgilerini yazdırabilir. Çıktıyı değiştirmeden sorun kaydına yapıştırmak yerine yerel olarak inceleyin.
Projenin .npmrc dosyası genel kurulumlarda kullanılmaz. Yalnız npm install -g başarısızsa proje dosyasını okuduğunu varsaymak yerine o çağrının etkin yapılandırmasını inceleyin.
IP’yi değiştirmeden önce istisnaları kontrol edin
npm proxy ortam değişkenleriyle de çalışır ve noproxy ayarı NO_PROXY değişkeninden gelebilir. Etkin yapılandırmanın dışladığı hedef proxy değeri olsa da doğrudan bağlanabilir. Tersine, bir .npmrc dosyasından satır silmek devralınmış ortam değişkenini kaldırmaz.
Sertifika hatalarını ayrı tutun
Yetkili inceleme proxy’si kuruluş CA’sını gerektirebilir ve Node/npm ortamınız henüz ona güvenmeyebilir. npm CA dosyasını destekler:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
O ortam için gerçekten onaylanmış paketi kullanın. strict-ssl=false sertifika doğrulamasını zayıflatır; doğru proxy veya güven malzemesi seçiminin yerine geçmez.
Test bittiğinde eklediğiniz proje geçersiz kılmalarını kaldırıp etkin değerlere yeniden bakın. Böylece aynı makinedeki diğer projeleri değiştirmeden önceki yapılandırma devralınır.