Tetapan proksi npm untuk HTTP dan HTTPS
Konfigurasi laluan proksi HTTP dan HTTPS npm, fahami pengecualian noproxy dan gunakan CA persendirian tanpa mematikan pengesahan TLS.
npm mempunyai tetapan berasingan proxy dan https-proxy. Perbezaannya ialah destinasi yang diminta. Bagi proksi HTTP biasa yang membuat terowong HTTPS, kedua-dua nilai boleh menunjuk titik akhir http:// yang sama.
.npmrc peringkat projek boleh mengandungi:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Gantikan titik akhir dokumentasi dengan proksi anda; untuk ujian registri awam yang dibenarkan, senarai proksi HTTP menyediakan calon HTTP. Baris terakhir sengaja membiarkan registri dalaman bernama berhubung terus. Ia bukan alamat proksi lain.
Minta npm membuat permintaan
Pemasangan daripada cache ialah ujian laluan yang lemah: npm mungkin sudah mempunyai semua yang diperlukan. Ping registri ialah semakan lebih kecil:
npm ping --registry=https://registry.npmjs.org/
Penyelesaian berjaya menunjukkan panggilan npm ini mencapai laluan registri tersebut. Ia tidak membuktikan setiap hos tarball, kebergantungan Git atau proses pengurus pakej berasingan menggunakan laluan sama.
Untuk mencari tetapan bercanggah, periksa nilai berkesan dan bukannya terus mengedit lebih banyak fail:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Arahan ini boleh mencetak kelayakan jika disertakan dalam URL. Periksa output secara tempatan dan bukannya menampalnya tanpa perubahan dalam laporan masalah.
.npmrc projek tidak digunakan untuk pemasangan global. Jika hanya npm install -g gagal, semak konfigurasi berkesan panggilan itu dan jangan anggap ia membaca fail projek.
Semak pengecualian sebelum menukar IP
npm juga menggunakan pemboleh ubah persekitaran proksi dan tetapan noproxy boleh datang daripada NO_PROXY. Destinasi dikecualikan oleh konfigurasi berkesan boleh bersambung terus walaupun nilai proksi ada. Sebaliknya, memadam baris daripada satu .npmrc tidak membuang pemboleh ubah persekitaran diwarisi.
Asingkan ralat sijil
Proksi pemeriksaan dibenarkan mungkin memerlukan CA organisasi yang belum dipercayai persediaan Node/npm anda. npm menyokong fail CA:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Gunakan himpunan sebenar yang diluluskan untuk persekitaran itu. strict-ssl=false melemahkan pengesahan sijil; ia bukan pengganti memilih proksi atau bahan kepercayaan yang betul.
Selepas ujian, buang tindihan projek yang ditambah dan semak nilai berkesan semula. Projek boleh mewarisi konfigurasi terdahulu tanpa mengubah projek lain pada mesin sama.