Vì đã được một vài năm và dường như không thể làm điều này (chỉ sử dụng npm), một giải pháp cho vấn đề này là sử dụng Trình quản lý kho lưu trữ Nexus (từ Sonatype). Nexus hỗ trợ nhiều kho lưu trữ, cho phép bạn đặt hàng chúng và cả proxy / bộ nhớ cache để cải thiện tốc độ.
Một phiên bản miễn phí và phiên bản pro / trả phí tồn tại. Tính năng hỗ trợ này được mô tả tại:
https://help.sonatype.com/repomanager3/node-packaged-modules-and-npm-registers
Thông tin liên quan được sao chép bên dưới để nếu / khi URL / liên kết ở trên ngừng hoạt động, thông tin vẫn ở đây.
Nhóm kho lưu trữ là cách được đề xuất để hiển thị tất cả các kho lưu trữ đăng ký npm của bạn từ trình quản lý kho lưu trữ cho người dùng của bạn, mà không cần bất kỳ cấu hình phía máy khách nào nữa. Một nhóm kho lưu trữ cho phép bạn hiển thị nội dung tổng hợp của nhiều kho lưu trữ proxy và được lưu trữ với một URL tới npm và các công cụ khác.
Nó cho phép bạn tạo đăng ký npm riêng
Một sổ đăng ký npm riêng có thể được sử dụng để tải lên các gói của riêng bạn cũng như các gói của bên thứ ba.
Và
Để giảm tải xuống trùng lặp và cải thiện tốc độ tải xuống cho nhà phát triển và máy chủ CI của bạn, bạn nên ủy quyền đăng ký được lưu trữ tại https://registry.npmjs.org . Theo mặc định npm truy cập đăng ký này trực tiếp. Bạn cũng có thể ủy quyền bất kỳ đăng ký khác mà bạn yêu cầu.
Vì vậy, một danh sách gạch đầu dòng nhanh những việc bạn làm để làm việc này là:
Cài đặt Nexus
Tạo một repo cục bộ / riêng tư (hoặc trỏ đến repo riêng của bạn trên một máy chủ khác)
Tạo một NHÓM liệt kê repo riêng của bạn và repo công khai.
Định cấu hình tệp $ HOME / .npmrc của bạn để trỏ đến "NHÓM" vừa tạo.
Xuất bản các gói npm riêng của bạn lên repo địa phương.
Người dùng hiện có thể chạy thiết lập một lần.
npm config set registry https://nexus/content/groups/GROUP
- Sau đó, người dùng có thể cài đặt cả gói công khai hoặc riêng tư thông qua
npm install
.
npm install my-private-package
npm install lodash any-other-public-package
Và cả gói công khai và riêng tư của bạn đều có thể được cài đặt thông qua một npm install
lệnh đơn giản . Nexus tìm thấy gói tìm kiếm từng repo được cấu hình trong nhóm và trả về kết quả. Vì vậy, npm vẫn nghĩ rằng chỉ có một đăng ký nhưng đằng sau bức màn có nhiều repos đang được sử dụng.
LƯU Ý QUAN TRỌNG: Khi bạn xuất bản các thành phần của mình, bạn sẽ cần chỉ định npm publish --registry https://nexus/content/repositories/private-repo my-private-package
lệnh để gói của bạn được xuất bản thành repo chính xác.