Проблема развертывания статического содержимого
Я создаю пользовательскую тему. Теперь я добавил файл css, только для страницы оформления заказа.
Вызов Css-файла с помощью default_head_block.xml в приложение/дизайн/интерфейс/Amit/Пользовательская тема/magento_checkout/макет/
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<css src="Magento_Checkout::css/checkoutstyle.css" />
</head>
</page>
Css-файл стиль проверки.css местоположение является приложение/дизайн/интерфейс/Amit/Пользовательская тема/magento_checkout/веб/css.
Теперь, когда я пытаюсь развернуть этот css-файл с помощью php bin/magento setup:static-content:deploy
Я получаю эту ошибку:
Compilation from source:
frontend/Magento/blank/en_US/css/styles-l.less
variable @checkout-tooltip-icon__font-size is undefined in file /var/www/html/Amit/var/view_preprocessed/css/frontend/Magento/blank/en_US/css/source/_extends.less in _extends.less on line 1056, column 21
1054| input {
1055| .lib-css(margin-right, @indent__s);
1056| width: calc(~"100% - (@{checkout-tooltip-icon__font-size} + @{indent__s} + @{indent__xs})");
1057| }
1058| }
1059| >
Примечание: Текущий режим приложения: разработчик и система - Ubuntu.
Может ли кто-нибудь сказать мне, что происходит?
4 answers
Решение устарело: Не используйте его. Плохая идея переключаться на значение по умолчанию
У него есть решение, которое может быть не на 100% правильным.
- Сначала я изменяю изменить текущее приложение режим на по умолчанию с
developer
на app/etc/env.php['MAGE_MODE' => 'developer' to 'MAGE_MODE' => 'default']
. - Также вручную очистив каталоги
pub/static
иvar/view_preprocessed
и подкаталоги. за исключениемpub/static/.htaccess
- Затем запустите
php bin/magento setup:static-content:deploy
, и он успешно сгенерирует статический файлы. - И изменить Изменить текущее приложение
developer
и запуститеphp bin/magento setup:static-content:deploy
, и он снова успешно создаст статические файлы.
Надеюсь, это кому-нибудь поможет.
Перейдите в /var/www/html/Amit/var/view_preprocessed/css/интерфейс/Magento/пустой/en_US/css/источник/_extends.меньше в _extends.меньше
И сверху добавить @checkout-tooltip-icon__font-size: 18px;
Решение сработало для меня после обновления Magento 2.2.5 до 2.3.2:
Оказывается, если в папке lib чего-то не хватает, это никогда не восстановится. Для этого загрузите свежую копию Magento и замените папку lib.
После замены я получил эту ошибку:
Autoload error: Library 'magento/framework' from '/var/www/html/luiz/lib/internal/Magento/Framework' has been already defined in '/var/www/html/luiz/vendor/magento/framework'
Затем я удалил папку lib/internal/Magento из корневого каталога Magento.
rm -rf lib/internal/Magento
rm -rf var/cache var/page_cache var/view_preprocessed pub/static/*
После всего этого я запустил:
php bin/magento setup:static-content:deploy -f
Пожалуйста, обратите внимание, если вы находитесь в режим разработчика - это нормально, но если вы находитесь в режиме по умолчанию или в рабочем режиме, выполните следующее:
php bin/magento setup:static-content:deploy
И, конечно, вы можете использовать следующие команды:
php bin/magento setup:static-content:deploy --jobs 3
Где задания 3 -> означает количество потоков в процессе обработки и развертывания.
php bin/magento setup:static-content:deploy en_US de_DE--jobs 3
Вы можете использовать встроенные языки без каких-либо проблем.
Вот как я решил эту проблему (все еще в режиме разработчика):
- Сделайте копию своей темы
- Удалить тему с сервера
- Переключитесь обратно на Luma в администраторе
-
Очистите кэш, удалите статические файлы и var/view_preprocessed
rm -rf pub/static/frontend/* var/view_preprocessed bin/magento c:c bin/magento c:f
-
Выполнить команду развертывания
bin/magento setup:static-content:deploy -f
Затем повторно загрузите свою тему и включите ее в администраторе
-
Снова запустите развертывание
bin/magento setup:static-content:deploy -f