Birkaç yıl geçtiğinden ve bunu yapmak mümkün görünmediğinden (yalnızca npm kullanarak), bu sorunun çözümü Nexus Depo Yöneticisini (Sonatype'dan) kullanmaktır. Nexus çoklu depoları destekler, sipariş etmenizi sağlar ve ayrıca hızı artırmak için vekil sunucuları / önbellekler sağlar.
Ücretsiz bir sürümü ve pro / ücretli sürümü var. Bunu destekleyen özellik şu adreste açıklanmıştır:
https://help.sonatype.com/repomanager3/node-packaged-modules-and-npm-registries
İlgili bilgiler aşağıda kopyalanmıştır, bu nedenle yukarıdaki URL / bağlantı çalışmayı durdurursa / durdurulursa, bilgi hala buradadır.
Bir veri havuzu grubu, daha fazla istemci tarafı yapılandırmasına gerek kalmadan tüm npm kayıt havuzlarınızı veri havuzu yöneticisinden kullanıcılarınıza göstermenin önerilen yoludur. Havuz grubu, birden çok proxy'nin ve barındırılan havuzların birleştirilmiş içeriğini bir URL ile npm ve diğer araçlara göstermenize olanak tanır.
Özel npm kayıtları oluşturmanıza olanak tanır
Kendi paketlerinizi ve üçüncü taraf paketlerini yüklemek için özel bir npm kayıt defteri kullanılabilir.
Ve
Geliştiricileriniz ve CI sunucularınız için yinelenen indirmeleri azaltmak ve indirme hızlarını artırmak için, https://registry.npmjs.org adresinde barındırılan kayıt defterini proxy olarak kullanmalısınız . Varsayılan olarak npm bu kayıt defterine doğrudan erişir. Ayrıca, ihtiyacınız olan diğer kayıtların proxy'sini de yapabilirsiniz.
Dolayısıyla, bu çalışmayı sağlamak için yaptığınız şeylerin hızlı bir madde işaretli listesi:
Nexus'u yükle
Yerel / özel bir repo oluşturun (veya başka bir sunucudaki özel repo'nuzu gösterin)
Özel deponuzu ve genel repoyu listeleyen bir GRUP oluşturun.
$ HOME / .npmrc dosyanızı yeni oluşturulmuş "GROUP" u işaret edecek şekilde yapılandırın.
Özel npm paketlerinizi yerel repoda yayınlayın.
Kullanıcılar artık tek seferlik bir kurulum yapabilir.
npm config set registry https://nexus/content/groups/GROUP
- Daha sonra kullanıcılar hem genel hem de özel paketleri yükleyebilirler
npm install
.
npm install my-private-package
npm install lodash any-other-public-package
Hem genel hem de özel paketleriniz basit bir npm install
komutla kurulabilir . Nexus, grupta yapılandırılan her bir depoda arama yapan paketi bulur ve sonuçları döndürür. Yani npm hala sadece bir kayıt olduğunu düşünüyor ama perdenin arkasında kullanılan çoklu depolar var.
ÖNEMLİ NOT: Bileşenlerinizi npm publish --registry https://nexus/content/repositories/private-repo my-private-package
yayınladığınızda, paketinizin doğru depoda yayınlanması için komutu belirtmeniz gerekir .