Ví dụ: tôi duy trì một ứng dụng sử dụng libmemcached. Tôi có thể biên dịch nó bằng cách sử dụng libmemcached5 hoặc libmemcached6, cũng xây dựng gói .deb trỏ đến libmemcached5, libmemcached6 hoặc thậm chí libmemcached5 | libmemcached6 như là phụ thuộc, nhưng thực sự nhị phân của tôi được biên dịch chỉ với một trong số chúng. Cách tốt nhất tôi có thể giải quyết vấn đề này để triển khai gói của tôi mà không cần nâng cấp/hạ cấp bất kỳ phụ thuộc nào ở phía người dùng là gì?Làm thế nào để xây dựng và triển khai gói với các phiên bản khác nhau của một phụ thuộc?
5
A
Trả lời
1
Nếu bạn đang sử dụng kho lưu trữ, hoặc nếu nhiều phiên bản được biên dịch của ứng dụng của bạn được chấp nhận, thì tốt nhất bạn nên biên dịch ứng dụng hai lần, một lần với libmemcached5 và một lần với libmemcached6 và gói chúng riêng biệt với các tên gói khác nhau , và sử dụng một gói phần mềm ảo để cài đặt một trong những quyền tự động:
Package: myapplication-memchched5
Version: 1.3.17-1
Depends: libmemcached5
Provides: myapplication
Conflicts: myapplication
Replaces: myapplication
và
Package: myapplication-memchched6
Version: 1.3.17-1
Depends: libmemcached6
Provides: myapplication
Conflicts: myapplication
Replaces: myapplication
Bây giờ aptitude install myapplication
sẽ tự động chọn một trong hai myapplication-memchched5
hoặc myapplication-memchched6
dựa trên những thứ khác cần được cài đặt.
Các vấn đề liên quan
- 1. Làm thế nào để triển khai phụ trợ api với nhiều phiên bản
- 2. TeamCity 7.0 Phụ thuộc và phiên bản
- 3. Maven - Xây dựng với các phụ thuộc
- 4. Sự phụ thuộc của bản xây dựng Gradle
- 5. xây dựng gói triển khai với Visual Studio 2012
- 6. Làm thế nào để làm cho Jenkins kích hoạt một xây dựng trên một dự án phụ thuộc khi một phụ thuộc là xây dựng
- 7. Làm thế nào để cấu hình Maven để xây dựng hai phiên bản của một tạo tác, mỗi một cho một mục tiêu khác nhau JRE
- 8. MEF Phụ thuộc và phiên bản
- 9. maven lực xây dựng lại các dự án phụ thuộc (xây dựng phụ thuộc đầu tiên)
- 10. Xây dựng cả phiên bản devel và phiên bản bình thường của gói RPM
- 11. TFS 2010 và "xây dựng một lần, triển khai nhiều"
- 12. Làm cách nào để xây dựng và triển khai EJB từ xa với Maven?
- 13. Xây dựng các gói Linux cho nhiều bản phân phối và phiên bản
- 14. Sự khác biệt giữa xây dựng và triển khai?
- 15. Các kịch bản xây dựng Ant, antcall, phụ thuộc, v.v.
- 16. Tham khảo các phiên bản khác nhau của Json.NET dll
- 17. Maven triển khai jar với phụ thuộc để repo
- 18. Maven - phụ thuộc bắc cầu với các phiên bản khác nhau
- 19. Tôi làm cách nào để quản lý các phụ thuộc xây dựng OSGi?
- 20. "Gói triển khai xây dựng" VS2010 từ tập lệnh
- 21. Làm thế nào để cấu hình CruiseControl.net để xây dựng các dự án đồng phụ thuộc?
- 22. Xcode 4 xây dựng phụ thuộc thư viện tĩnh với thiết lập cấu hình khác nhau
- 23. Định danh gói khác nhau cho các cấu hình xây dựng khác nhau
- 24. Làm thế nào để xây dựng một dự án C# mà không kiểm tra phụ thuộc?
- 25. Làm cách nào để xác định các phụ thuộc khác nhau cho các hương vị sản phẩm khác nhau
- 26. Xây dựng gói triển khai Web từ dòng lệnh
- 27. Làm thế nào để xây dựng một phiên bản cụ thể của SVN trong Hudson/Jenkins
- 28. Công cụ quản lý dự án và xây dựng cho việc xây dựng và phụ thuộc của iO
- 29. Thuộc tính phụ thuộc được triển khai như thế nào?
- 30. Làm thế nào để tổ chức các gói (và ngăn chặn các chu kỳ phụ thuộc)?