composer install на product сервере

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
S c
Сообщения: 878
Зарегистрирован: 2012.04.11, 14:46

composer install на product сервере

Сообщение S c »

Вопрос по composer-у:
Если я верно понимаю,

Код: Выделить всё

composer update
обновляет все зависимости (в случае с yii2 папку vendor) согласно файлу composer.json

Код: Выделить всё

composer instal
обновляет все зависимости (либо можно указать определенную) согласно файлу composer.lock (если нет файла, то согласно composer.json + создает lock файл)
Т.е. на боевой сервер всегда через контроль версий попадает composer.lock файл, с зафиксированными рабочими версиями всех зависимостей, и на боевом сервере смело делаем install.

Все вроде логично и круто, но что делать в случае, когда в .lock файле у меня следующее

Код: Выделить всё

{
            "name": "creocoder/yii2-nested-sets",
            "version": "dev-master",
            "source": {
                    "reference": "ac447e98b644eed56bbbbcb695d7ecddc23af90e"
            .......
Боевой будет выгружать последнюю dev-master версию? Или же "reference" - "подскажет" какой именно билд нужно вытягивать? Т.к. в первом случае, боевой сервер может обновиться к более свежему билду, а свежак может конфликтить с какой то зависиомстью, такие вещи (обновления всех зависимостей) ведь нужно тестировать локально. Вообщем, я верно понимаю, что reference - именно то, что решает эту проблему?

Вопрос номер 2:
Так же в .lock файле есть

Код: Выделить всё

    "require": {
                "yiisoft/yii2": "*"
        },
 
Не подтянет ли composer последнюю версию (в данном примере yii2)?

Аватара пользователя
ElisDN
Сообщения: 5606
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: composer install на product сервере

Сообщение ElisDN »

reference - это и есть ID коммита, так что при install всё встанет полностью по composer.lock.

Аватара пользователя
S c
Сообщения: 878
Зарегистрирован: 2012.04.11, 14:46

Re: composer install на product сервере

Сообщение S c »

ElisDN писал(а):reference - это и есть ID коммита, так что при install всё встанет полностью по composer.lock.
Отлично, спасибо! А по второму пункту? require не подтянет последнюю версию yii? Просто в composer.lock о самом yii пакете нету инфы

Аватара пользователя
PaSiS
Сообщения: 88
Зарегистрирован: 2011.11.15, 18:07
Контактная информация:

Re: composer install на product сервере

Сообщение PaSiS »

Подтянет, лучше укажите явно

Аватара пользователя
S c
Сообщения: 878
Зарегистрирован: 2012.04.11, 14:46

Re: composer install на product сервере

Сообщение S c »

PaSiS писал(а):Подтянет, лучше укажите явно
Указывать, соответственно, в .json файле уже? И после очередного update-а - в .lock файле в require секции будет уже именно версия? А что делать с dev-master указателями? Везде в .json указывать версию цифрами?

Ответить