Magento 2: Please update your modules: Run "composer install" from the Magento root directory.
Столкнулся с такой ситуацией, когда версия дампа старше версии кодовой базы. В итоге при попытке запуска Magento 2 получил ошибку
1 2 3 4 5 6 7 |
Exception #0 (Magento\Framework\Exception\LocalizedException): Please update your modules: Run "composer install" from the Magento root directory. The following modules are outdated: Magento_Cron db schema version: defined in codebase - 2.0.0, currently installed - 2.0.0.1Magento_Cron db data version: defined in codebase - 2.0.0, currently installed - 2.0.0.1 Vendor_AbstractEntityData db schema version: defined in codebase - 1.1.9, currently installed - 1.2.0 Vendor_AbstractEntityData db data version: defined in codebase - 1.1.9, currently installed - 1.2.0 |
Усугубляло это еще то, что я использовал PHP 7.2, и при попутке запустить рекомендуемый composer install я получал сообщение о не поддерживаемой версии php..
1 2 3 4 5 6 7 8 9 10 11 12 |
$ composer install Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages. Problem 1 - colinmollenhour/php-redis-session-abstract v1.3.4 requires php ~5.5.0|~5.6.0|~7.0.0|~7.1.0 -> your PHP version (7.2.17) does not satisfy that requirement. - colinmollenhour/php-redis-session-abstract v1.3.4 requires php ~5.5.0|~5.6.0|~7.0.0|~7.1.0 -> your PHP version (7.2.17) does not satisfy that requirement. - Installation request for colinmollenhour/php-redis-session-abstract v1.3.4 -> satisfiable by colinmollenhour/php-redis-session-abstract[v1.3.4]. |
ну Ок, мне по прежнему лень даунгрейдить PHP.. Вариант №1, отрубаем проверку версий вот тут:
1 2 3 |
/vendor/magento/framework/Module/Plugin/DbStatusValidator.php |
вот так
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public function beforeDispatch(FrontController $subject, RequestInterface $request) { .. if ($versionTooHighErrors) { $this->cache->save('true', 'db_is_up_to_date'); return; $message = 'Please update your modules: ' . "Run \"composer install\" from the Magento root directory.\n" . "The following modules are outdated:\n%1"; throw new LocalizedException( new Phrase($message, [implode("\n", $this->formatVersionTooHighErrors($versionTooHighErrors))]) ); ... |
Думаю, должно быть понятно, что это решение не для продакшена, а только для локальной разработки, когда надо срочно поднять magento, чтобы исправить какие-то небольшие баги в не родных модулях..
В общем, правим так, попросту игнорируя ошибки и все начинает работать..
Но, есть и другой способ, вычленяем название модулей и их версии из текста ошибки, у меня это
1 2 3 4 5 |
Magento_Cron = 2.0.0; currently installed - 2.0.0.1 Vendor_AbstractEntityData = 1.1.9; currently installed - 1.2.0 Vendor_AbstractEntityData = 1.1.9, currently installed - 1.2.0 |
открываем табличку setup_module и правим ручками значения, ставим версии из кодовой базы.
Например для модуля Magento_Cron ставим "2.0.0" вместо "2.0.0.1", было
стало
Повторяем для всех упомянутых в ошибке.
После этих манипуляций все начинает работать.
Author: | Tags: /
| Rating:
Leave a Reply