2013-01-09 22 views
26

Tôi đang sử dụng nhà soạn nhạc (trong các dự án Symfony2) và thường gặp lỗi khi cập nhật thư viện.dev-master trong composer.json, đây có phải là sự điên rồ không?

Nhiều thư viện (hầu hết theo kinh nghiệm của tôi) sử dụng dev-master làm phiên bản cho các phụ thuộc của chúng (hoặc tệ hơn là chúng sử dụng *).

Bất cứ khi nào có điều gì đó được cam kết với nhánh chính, bạn có thể cập nhật thư viện và cơ hội thay đổi API cao hơn khi thời gian trôi qua. Những gì ngày hôm nay trong tổng thể là phiên bản 1.2.1 ngày mai có thể là 1.2.7, không có hại, và trở thành sau 1.7 hoặc 2.x với chắc chắn không tương thích.

Câu hỏi của tôi là

  1. làm thế nào chúng ta có được đến thời điểm này? Đó có phải là một thực tế được đề xuất từ ​​các nguồn hồ sơ cao không?
  2. Tôi có thể/chúng tôi làm gì để cảm nhận tác giả của chủ đề này?

hoặc Tôi có phát điên không?

+2

Bạn đang yêu cầu hoặc ranting? –

+0

thực sự và tích cực yêu cầu –

+0

@RiccardoGalli nếu người duy trì không lắng nghe, sau đó bạn có thể chia rẽ các phụ thuộc và tự gắn thẻ cho họ và làm cho gói tùy chỉnh phụ thuộc; điều này tất nhiên không hoạt động khi bạn phải đối phó với nhiều cấp độ phụ thuộc – Manquer

Trả lời

33

Bạn không giận.

  1. Đây là vấn đề về gà và trứng, cho đến khi mọi người gắn thẻ nhiều hơn, những người khác không thể yêu cầu bản phát hành được gắn thẻ.
  2. Nag mọi người không có thẻ hoặc không gắn thẻ bất kỳ thứ gì trong sáu tháng (nếu dự án đang phát triển tích cực). Tôi đã cố gắng gắn thẻ tất cả các gói của chúng tôi vào đầu tuần này, bởi vì tôi đã đọc một đoạn trích tương tự và tôi đã nhắc nhở rằng chúng tôi vẫn chỉ có các phiên bản dành cho nhà phát triển trên hầu hết chúng.

Giải pháp thực sự là giáo dục và tôi sẽ cố gắng giúp đỡ một chút bằng cách thúc đẩy các phương pháp hay nhất trong tài liệu soạn nhạc. Không phải ai cũng có nhiều kinh nghiệm với quản lý gói và nhiều người không nhận ra cách tiếp cận này có vấn đề (cho đến khi quá muộn), vì vậy công việc của mọi người là giúp đỡ bằng cách nhắc nhở họ.

+1

Im viết một thư viện để được phân phối lại. Một số phụ thuộc không có thẻ phiên bản. Làm thế nào để đối phó với họ? Tôi có thể chỉ là chủ nhân không? Khi tôi thử nó trước đây, thư viện không thể cài đặt được trên các dự án khác do phụ thuộc vào dev-master. – CMCDragonkai

+0

Bạn nên nag tác giả của phụ thuộc của bạn để họ thẻ phát hành ASAP. Nếu toàn bộ hệ sinh thái mà bạn làm việc vẫn không ổn định thì bạn có thể tùy thuộc vào dev-master nhưng bạn không nên tạo các thẻ với phụ thuộc dev-master IMO vì điều đó thực sự xấu trong thời gian dài. – Seldaek

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