2015-12-16 19 views
5

Giả sử tôi muốn xuất bản gói NuGet tại nuget.org.Làm thế nào để các tác giả gói NuGet tránh phiên bản Địa ngục?

Nó phụ thuộc vào, ví dụ, Newtonsoft.Json. Vì vậy, tôi đặt sự phụ thuộc này trong số .nuspec và bao gồm số phiên bản N..Json là 1 (vì lợi ích của args).

Nếu N..Json chuyển sang 2 và những người đang sử dụng gói của tôi cũng chuyển sang 2, thì giờ họ đang ở trong thùng dưa vì gói của tôi muốn 1 và họ đang sử dụng 2?

Có lẽ, để thêm gói của tôi ngay từ đầu, họ phải có hoặc chưa cài đặt N..Json hoặc nếu có, hãy sử dụng phiên bản chính xác mà gói của tôi sử dụng.

Tôi đoán việc quy định phiên bản chính xác là xấu. Vì vậy, tôi bỏ qua các phiên bản, nhưng bây giờ gói của tôi có thể phá vỡ trong tương lai nếu N..Json đã phá vỡ những thay đổi.

Thay vào đó, tôi thêm một phạm vi trong số .nuspec và bây giờ tôi là một phần trong đó.

Nhưng tôi đã không áp đặt trần cho tất cả khách hàng của mình về phiên bản tối đa của N..Json họ có thể sử dụng không?

Hiện tại tôi có cần theo dõi thường xuyên các phiên bản của các gói mà gói của tôi sử dụng và đảm bảo rằng tôi đang thử nghiệm phần còn lại của cuộc đời mình không?

Có một số hệ thống trên NuGet.org có thể cảnh báo rằng gói của tôi đã bị tụt hậu hoặc có thể bị ảnh hưởng bởi bộ phận ngắt trong công việc của người khác không?

Điều gì sẽ xảy ra nếu khách hàng cố gắng và cập nhật toàn cầu N..Json lên phiên bản mới nhất, liệu có rõ ràng rằng gói của tôi là trình chặn không?

Thực tiễn tốt nhất được thiết lập là gì?

Trả lời

1

Tôi không tin nuget.org cung cấp bất kỳ trợ giúp nào về quản lý phiên bản. Bạn nên làm theo hướng dẫn semver.org để phiên bản các gói của bạn và các gói phụ thuộc của bạn. Điều này có thể gây ra sự cố cho những người đã cài đặt gói phiên bản phụ thuộc cao hơn của bạn. Tuy nhiên, không có gì ngăn cản bạn có nhiều phiên bản được cài đặt cạnh nhau.

Các vấn đề liên quan