Karena sudah beberapa tahun dan sepertinya tidak mungkin untuk melakukan ini (menggunakan npm saja), solusi untuk masalah ini adalah dengan menggunakan Manajer Repositori Nexus (dari Sonatype). Nexus mendukung beberapa repositori, memungkinkan Anda memesannya, dan juga proxy / cache untuk meningkatkan kecepatan.
Ada versi gratis dan versi pro / berbayar. Fitur yang mendukung ini dijelaskan di:
https://help.sonatype.com/repomanager3/node-packaged-modules-and-npm-registries
Informasi yang relevan diduplikasi di bawah ini jadi jika / ketika URL / tautan di atas berhenti bekerja informasinya masih di sini.
Grup repositori adalah cara yang disarankan untuk mengekspos semua repositori registrasi npm Anda dari manajer repositori ke pengguna Anda, tanpa memerlukan konfigurasi sisi klien lebih lanjut. Grup repositori memungkinkan Anda untuk mengekspos konten gabungan dari beberapa proxy dan repositori yang di-host dengan satu URL ke npm dan alat lainnya.
Ini memungkinkan Anda membuat pendaftar npm pribadi
Registri npm pribadi dapat digunakan untuk mengunggah paket Anda sendiri serta paket pihak ketiga.
Dan
Untuk mengurangi unduhan duplikat dan meningkatkan kecepatan unduhan untuk pengembang dan server CI Anda, Anda harus mem-proksi registri yang dihosting di https://registry.npmjs.org . Secara default, npm mengakses registri ini secara langsung. Anda juga dapat mem-proxy pendaftar lain yang Anda butuhkan.
Jadi daftar singkat hal-hal yang Anda lakukan untuk mendapatkan pekerjaan ini adalah:
Instal Nexus
Buat repo lokal / pribadi (atau arahkan ke repo pribadi Anda di server lain)
Buat GROUP yang mencantumkan repo pribadi Anda, dan repo publik.
Konfigurasikan file $ HOME / .npmrc Anda untuk menunjuk ke "GROUP" yang baru saja dibuat.
Publikasikan paket npm pribadi Anda ke repo lokal.
Pengguna sekarang dapat menjalankan pengaturan satu kali.
npm config set registry https://nexus/content/groups/GROUP
- Kemudian pengguna dapat menginstal paket publik atau pribadi melalui
npm install.
npm install my-private-package
npm install lodash any-other-public-package
Dan paket publik dan pribadi Anda dapat diinstal melalui npm installperintah sederhana . Nexus menemukan paket yang mencari setiap repo yang dikonfigurasi dalam grup dan mengembalikan hasilnya. Jadi npm masih berpikir hanya ada satu registri tetapi di balik tirai ada beberapa repo yang digunakan.
CATATAN PENTING: Ketika Anda menerbitkan komponen Anda, Anda harus menentukan npm publish --registry https://nexus/content/repositories/private-repo my-private-packageperintah sehingga paket Anda dipublikasikan ke repo yang benar.