Как обновить приложение Laravel (не зависит от композитора) - PullRequest
3 голосов
/ 14 октября 2019

У меня есть вопрос, касающийся обновлений инфраструктуры приложения Laravel.

Обычно я запускаю команду composer update, чтобы обновить все ее зависимости. Для каркаса laravel используется пакет laravel / framework .

Но они внесли некоторые изменения в этот пакет, которые требуют внесения изменений в основное приложение (не в composer). Основным приложением является пакет laravel / laravel .

Например, в this commit они сделали функцию с именем confirmPassword(), которая ссылается на файл ConfirmPasswordController.php в упаковке laravel/laravel. Но этот файл не существует в моем приложении, потому что мое приложение не обновлено.

Мой вопрос
Как мне поддерживать свое основное приложение в актуальном состоянии?

Ошибки
См. Типичный пример обновлениязависимости, но не приложение здесь .

Ответы [ 2 ]

2 голосов
/ 14 октября 2019

Прежде всего ... Это не простой вопрос, и в IMO есть МНОГО возможных сценариев ... В зависимости от кода, который вы разработали, пакетов, которые вы используете, версии, которую вы хотитеиспользовать и так далее ...

В любом случае Вот что я бы сделал в этой ситуации:

Скажем, например, я хочу обновить версию X до версии Z, где Z - два основных / второстепенных выпуска впереди X

Шаг 1

Следуйте следующим шагам для одного основного / второстепенного выпуска за раз. Однажды я попытался обновить приложение с Laravel 5.4 до 5.6, и оно было полностью сломано. Поэтому я решил обновить до 5.5 и проверить, что все работает, и, в случае, заблокировать этот релиз. К счастью, когда я обновил с 5.5 до 5.6 (после исправления кода), мне удалось заставить все работать как надо.

Шаг 2

Обновите базовую платформу и плагины, проверьтедля ошибок во время обновления и ofc, проверьте официальную документацию для любого типа проблемы совместимостишаг. Большая часть ошибок может быть решена, просто следуя этому руководству. Могут быть некоторые плагины, которые этого не предоставляют, но обычно проблемы связаны с новыми функциями ... Трудно, чтобы метод, класс или черта полностью изменились с одной версии на другую.

Шаг 4

Этот шаг можно пропустить, но из приведенного вами примера, возможно, лучше добавить его. Когда есть новая функция, которая требует определенного класса или признака или чего-то еще, самый простой способ проверить, была ли выброшена ошибка из-за отсутствия файла (и это является частью «стандартного образца») или имеет другую природу, - этосоздайте пустой проект с этой конкретной версией и сравните его с файлами по умолчанию.

Например, если вы не внесли изменений в LoginController, проверьте, есть ли в новой версии какие-либо обновления,может быть решением.

0 голосов
/ 14 октября 2019

Вы можете сделать это вручную, следуя руководству по обновлению для версии, которую вы обновляете с / до, например это .

В качестве альтернативы, Laravel Shift это платный, но довольно недорогой инструмент, который сделает это автоматически. Поскольку он вносит изменения в ваш проект, вам следует внимательно просмотреть все, что он сделал.

...