Композитор Всичко за

Куест → Как да проникна формуляр

php композитор ключалка

файла composer lock

Композитор е де факто стандарт за управление на зависимостите в PHP. Това е просто, ефективно и вече повсеместно.

Всеки знае, че когато използвате Composer, просто създавате файл composer.json със списък на зависимости и техните версии и след това стартирате инсталацията на composer и сте готови.

След това ангажирате composer.json към вашия проект и всеки разработчик от вашия екип може лесно да инсталира всички необходими зависимости, като стартира composer install .

Разбира се, знаем и за актуализацията на композитора, която ще актуализира инсталираните пакети до най-новата версия (въз основа на посочените версии в composer.json).

Наистина е просто. Но какво ще кажете за файла composer.lock, който се генерира в основата на проекта? За какво ? И какво да правим с него ?

Наистина ли знаете къде е .lock файлът? ?

Преди време разбрах, че проектът OpenCFP не съхранява файла composer.lock в хранилището. "И какво ?!" - казвате, - „просто стартирайте инсталацията на композитора и всичко е наред. Ще имаме същите зависимости, нали? “

Целта на .lock файла е да напише директно в него версиите, които са били инсталирани и за които е извършено разработването и тестването, за да можете да ги преинсталирате в бъдеще. Това означава, че ако имате версия 1. *, посочена в composer.json, и вашият колега е изпълнил composer update, която е инсталирала 1.2.4 и е ангажирала файла composer.lock, тогава като стартирате composer install, ще получите същия 1.2.4, дори ако 1.3.0 вече е излязъл. Това ви позволява да сте сигурни, че всеки, който работи по вашия проект, ще има абсолютно еднакви версии на пакета.

Сега може би си мислите: с правилно семантично управление на версиите версия 1.3.0 (или дори 1.2.5) трябва да бъде обратно съвместима, тъй като все още отговаря на определената стойност от 1. * и основната версия не се е променила. Какво представлява сакраменталната мисъл ?

Е, докато не прегледате всяка нова версия на зависимостите, които използвате, и техните зависимости, и техните зависимости. и т.н. и т.н., тогава има голяма вероятност някаква пълзяща грешка да счупи приложението ви. Все пак всички сме хора.