Tôi đang ở trong giai đoạn hoàn toàn mới với một dự án mới và phụ thuộc Symfony 2 sử dụng nhà soạn nhạc.Nhà soạn nhạc, độ ổn định tối thiểu và phụ thuộc của các phụ thuộc
Trước tiên, tôi cài đặt symfony/framework-standard-edition v2.1.5 bằng trình soạn nhạc. Điều này mang lại một tệp nhà soạn nhạc có các yêu cầu này và không có nút ổn định tối thiểu.
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"twig/extensions": "1.0.*@dev",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*@dev"
},
Tính năng này hoạt động tốt, cài đặt tất cả các phiên bản ổn định mới nhất, như đã định.
Tiếp theo, tôi thêm một bó ->https://packagist.org/packages/kunstmaan/admin-bundle
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"twig/extensions": "1.0.*@dev",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"kriswallsmith/assetic": "1.1.*@dev",
"kunstmaan/admin-bundle": "dev-master"
},
bó này phụ thuộc vào "học thuyết/doctrine-đạc-bó" trong "dev-master" (https://packagist.org/packages/doctrine/doctrine-fixtures-bundle)
Và bó mà phụ thuộc trên doctrine/data-fixtures với * (https://packagist.org/packages/doctrine/data-fixtures)
Bây giờ khi tôi chạy bản cập nhật soạn nhạc trong dự án, nó cho tôi biết rằng không có gì để thỏa mãn sự phụ thuộc của học thuyết/dữ liệu. Hoặc là lỗi đánh máy trong tên hoặc không có phiên bản "ổn định" vì tính ổn định tối thiểu mặc định là ổn định.
Nó muốn cài đặt gói giáo lý-đồ đạc trong sự ổn định "dev", vì việc đặt dev-master tự động đặt sự phụ thuộc này vào độ ổn định "dev". Nhưng điều này không có gì cho dep của dep này, họ tiếp tục muốn cài đặt như ổn định vì đó là sự ổn định tối thiểu của tôi.
Tại thời điểm này tôi có thể khắc phục điều này, bằng cách thêm doctrine/data-fixtures: dev-master hoặc với @dev vào composer.json của tôi trong dự án.
Nhưng vì đây chỉ là một ví dụ (knpmenubundle, fosuserbundle, v.v.), tôi sẽ phải tự tay đi và thêm tất cả các mô hình không cài đặt vào tệp composer của riêng tôi.
Một giải pháp khác sẽ làm giảm sự ổn định tối thiểu của dự án của tôi thành dev, nhưng tại thời điểm đó tất cả các thông báo của tôi, bao gồm cả các dịch vụ ổn định như Symfony2, sẽ cài đặt phiên bản dev chứ không phải bản phát hành được gắn thẻ.