Magento 2 не загружает CSS и JavaScript
Я установил magento 2 успешно на localhost, но я не могу видеть панель администратора, поскольку она делает ошибку 404 для меня.
Во-вторых, когда я открываю front-end, тогда CSS и JavaScript не загружаются. Они также отображают 404 ошибки.
Также, когда я пытаюсь запустить команду:
{your Magento install dir}/bin/magento setup:static-content:deploy
Я получил следующую ошибку:
[InvalidArgumentException]
There are no commands defined in the "setup:static-content" namespace.
Ответы
Ответ 1
Эта работа для меня.
используйте эту команду php bin/magento setup:static-content:deploy
Шаг 1: В CMD Откройте корневой каталог с помощью команды cd
Шаг 2: php bin/magento setup:static-content:deploy
- запустите эту команду
тогда, проверьте свою папку pub/static
, файлы CSS и Js будут доступны там
Обратитесь
Ответ 2
Попробуйте выполнить ту же команду, что и пользователь root, добавив sudo, как показано ниже
sudo php bin/magento setup:static-content:deploy
Ответ 3
Вот самое простое решение, если показать имя версии в пути CSS
как: pub/static/version323334/
затем запустите этот запрос в моем sql
INSERT INTO core_config_data (path, value)
VALUES ('dev/static/sign', 0)
ON DUPLICATE KEY UPDATE value = 0;
после этого очистите кеш конфига
bin/magento cache:clean config
Вы также можете отключить статическую версию файла формы администратора
![enter image description here]()
Ответ 4
Хотя это старый вопрос, его ответы не помогли мне исправить мою проблему, что бы сгенерировать такое же сообщение об ошибке. Я предлагаю следующее:
- Сначала вы можете найти свою основную причину. В папке magento2 найдите ошибку magento следующим образом:
хвост var/log/system.log
Или найдите, есть ли ошибка в файле журнала ошибок php
Если вы обнаружили изолированную ошибку, исправьте ее.
- Если ошибка не найдена, выполните следующие действия. Удалите папку генерации, выполнив следующие команды:
sudo rm -rf pub/static
sudo rm -rf var/cache
sudo rm -rf var/composer_home
sudo rm -rf var/generation
sudo rm -rf var/page_cache
sudo rm -rf var/view_preprocessed
После их удаления вы можете повторно создать их, выполнив следующие команды:
sudo php -f bin/magento setup:static-content:deploy
Ответ 5
Мы также столкнулись с этим вопросом и разобрали его. Для этого вам нужно перейти непосредственно в каталог bin
и использовать эту команду. Например,
php magento setup:static-content:deploy
Несколько раз, если вы запустите эту команду за пределами bin
или из любого каталога
php bin/magento setup:static-content:deploy
тогда вы получите ошибку (возможно, это из-за системы linux),
[InvalidArgumentException]
There are no commands defined in the "setup:static-content" namespace.
Update:
Если какой-либо файл *.xml
в наших настраиваемых модулях недействителен, то придет такая же ошибка.
Ответ 6
У меня также была такая же проблема, и ниже шаг решает мою проблему:
Шаг 1. Перейдите в каталог, в котором установлен magento.
Шаг 2: Запустите "sudo php bin/magento setup: static-content: deploy"
Ответ 7
Предоставить статическую команду развертывания следующим образом:
php bin/magento setup:static-content:deploy
Укажите полное разрешение для папок pub и var.
Ответ 8
Выполните следующие команды в интерфейсе CLI вашей корневой папки Magento2:
$ php bin/magento setup:static-content:deploy
$ php bin/magento indexer:reindex
Затем удалите папку var этой командой в корне magento2.
$ rm -rf var/*
Затем обновите свою домашнюю страницу и панель администратора.
Ответ 9
Если вы столкнулись с проблемой css и дизайном после установки в Windows, выполните следующие действия.
-
php bin/magento setup:static-content:deploy
-
php bin/magento indexer:reindex
- убедитесь, что apache "rewrite_module" включен, а затем перезагружает сервер.
- удалить папку кэша в
var/cache
Ответ 10
вам просто нужно запустить эту команду на своем терминале
php bin/magento setup:static-content:deploy
Убедитесь, что вы указали корневой путь вашего magento в терминале, а затем выполните приведенную выше команду
Ответ 11
Просто откройте
MAGENTO_ROOT/приложение/и т.д. /di.xml
и заменить ниже номер строки кода 574
<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>
К
<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
УДАЛИТЬ
MAGENTO_ROOT/PUB/статический/_requirejs
MAGENTO_ROOT/паб/статический/adminhtml
MAGENTO_ROOT/паб/статический/интерфейс
Ответ 12
Простое и правильное решение, надеюсь, полезно.
Перейдите к своему значку wampserver и нажмите на него, а затем
- Apache- > apache modules- > rewrite_module [включить это]
После этого запустите все службы и проверьте его.
Ответ 13
Следующий ответ работает для меня, спасибо:
открыть файл MAGENTO_ROOT/app/etc/di.xml
и заменить ниже номер строки кода 574
Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink
с
Magento\Framework\App\View\Asset\MaterializationStrategy\Копировать
DELETE
MAGENTO_ROOT/pub/static/_requirejs
MAGENTO_ROOT/pub/static/adminhtml
MAGENTO_ROOT/pub/static/frontend
Ответ 14
Эта ошибка возникает, если вы неправильно настроили разрешение. Он не видит, что команда действительно существует.
Попробуйте запустить:
sudo find . -type d -exec chmod 770 {} \; && sudo find . -type f -exec chmod 660 {} \; && sudo chmod u+x bin/magento
sudo chown -R $(whoami):www-data .
Измените www-данные на соответствующего пользователя веб-сервера. например apache или www-data.
Ответ 15
Это сработало для меня:
1) Развертывание статического содержимого. Выполните команду ниже из корневого каталога Magento 2:
sudo php bin/magento setup:static-content:deploy
2) Очистите все в каталоге var/cache
или сбросьте кеш Magento 2, используя следующую команду:
php bin/magento cache:flush
3) Установите правильные разрешения для каталогов Magento 2, выполнив следующую команду из корневого каталога Magento 2:
sudo find . -type d -exec chmod 770 {} \; && sudo find . -type f -exec chmod 660 {} \; && sudo chmod u+x bin/magento
Надеюсь, что это поможет.
Ответ 16
Я просто делаю
rm -rf var/di
то он снова работает.
Ответ 17
Обычно это происходит из-за неудачной компиляции в папке var/di
. Вы можете решить это, удалив все в своей папке var.
Также в будущем не забывайте, что командная строка magento реализует уровни многословности symfony: добавьте --v
или ---v
к вашей команде, чтобы увидеть точную ошибку.
Ответ 18
Пожалуйста, выполните следующие действия, чтобы избавиться от этих проблем.
1) Загрузите Magento 2.
2) Извлеките это в каталог www или htdocs.
3) Установите пурпурный. Не используйте localhost, используйте 127.0.0.1 в адресе url и admin в магазине.
4) После успешной установки НЕ РАБОТАЙТЕ MAGENTO.
5) Теперь удалите кеш/сеанс magento 2. Перейдите к указанным ниже путям и удалите файлы.
Magento Root > var > cache > Delete all files
Magento Root > var > page_cache > Delete all files
Magento Root > var > session > Delete all files
6) Измените поведение символических ссылок для некоторых статических ресурсов, как указано ниже: -
Когда Magento 2 не находится в рабочем режиме, он попытается создать символические ссылки для некоторых статических ресурсов на локальном сервере. Мы должны изменить это поведение Magento 2, перейдя к редактированию файла ROOT > app > etc > di.xml
. Откройте файл di.xml в своем любимом редакторе кода, найдите раздел virtualType name="developerMaterialization"
. В этом разделе ниже вы найдете элемент <item name="view_preprocessed" xsi:type="object">
, который необходимо изменить. Вы можете изменить его, изменив следующий контент:
Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink
To:
Magento\Framework\App\View\Asset\MaterializationStrategy\Copy
7) Удалите все файлы, кроме .htaccess
Magento Root > pub > static > Delete all files except **.htaccess**
ЕГО СОВЕРШЕННО. Теперь вы можете запустить URL-адрес фальсификатора и URL-адреса magento
Ответ 19
Если после установки в Magento 2 у вас возникла проблема с темами, выполните следующие действия.
1) Запустите этот запрос:
INSERT INTO core_config_data (path, value) VALUES ('dev/static/sign', 0)
ON DUPLICATE KEY UPDATE value = 0;
2) Для локальной машины выполните этот запрос:
UPDATE 'binarytrue'.'core_config_data' SET 'value' = '0' WHERE
'core_config_data'.'path' LIKE '%web/seo/use_rewrites%';
3) Удалите все файлы из каталога pub и var:
sudo rm -rf var/di var/generation/ var/page_cache/ var/cache/
pub/static/frontend/ pub/static/adminhtml/ pub/static/_requirejs/
pub/static/deployed_version.txt
4) Дайте разрешение на каталоги var и pub вашего проекта:
sudo chmod -R 777 var/* pub/*
5) Настройка обновления:
sudo bin/magento setup:upgrade
6) Развертывание контента:
sudo php bin/magento setup:static-content:deploy
После этих шагов вы сможете увидеть правильную тему.
Ответ 20
После попытки всех решений, упомянутых здесь и в https://magento.stackexchange.com/questions/97209/magento-2-css-and-javascript-not-loading-from-correct-folder
Мы не смогли запустить эту вещь.
Но это очень странный ответ, но он сработал для нас.
Во-первых, мы очистили кеш и убедились, что статические файлы создаются в папке pub/static/. Затем проверил, что файл deployed_version.txt содержит тот же номер версии, что и загружаемый в URL.
Нашим главным виновником был файл .htaccess, который присутствовал в папке pub. В папке pub/static должен быть только один файл .htaccess, но не в папке pub. Это помогло нам после поиска повсюду.
Надеюсь, что это помогает другим, ищущим подобный ответ.
Ответ 21
Изменение dev/static/sign
на 0
в данных конфигурации ядра сработало для меня
затем,
bin/magento cache:flush
затем,
php bin/magento setup:static-content:deploy -f
Ответ 22
Если вы столкнулись с проблемой дизайна загрузки css и js после установки в magento2
выполните следующие действия:
откройте терминал и перейдите к корневому веб-корню magento
$ cd /var/www/html/magento2
Шаг 1.
$ php bin/magento setup:static-content:deploy
Шаг 2.
$ php bin/magento indexer:reindex
Шаг 3.
убедитесь, что apache "rewrite_module" включен, а затем перезагружает сервер
Шаг 4.
$ chown -R www-data:www-data /var/www/html/magento2
Шаг 5.
$ chmod -R 777 /var/www/html/magento2
Шаг 6.
удалить папку кэша в var/cache
Вышеуказанный шаг работает. Я надеюсь, что это тоже сработает для вас.
Сообщите мне, если возникнет проблема.:)