Magento2 Восстановить полный статический контент

10

Я удалил папку pub / static в режиме разработчика, ожидая, что все сгенерируется обратно, как было. После этого только папка

_requirejs

был сгенерирован, так что теперь мне все не хватает - все файлы css и js пропали. Как я могу решить эту проблему? Пожалуйста помоги.

Лачезар Райчев
источник
Является ли каталог pub / static доступным для записи веб-сервером?
Питер О'Каллаган
да, он доступен для записи веб-серверу и пользователю magento. на всякий случай я дал 777 разрешений, чтобы быть абсолютно уверенным
Лачезар Райчев
drwxrwsrwx 3 ubuntu www-data 4096 17 февраля 17:24 статические каталоги app / design / adminhtml / Magento и app / design / frontend / Magento являются empy, я не знаю, насколько это актуально
Лачезар Райчев
я не могу переключиться обратно в режим по умолчанию
Лачезар Райчев
2
почему они сделали невозможным переключить его обратно на вид по умолчанию? может быть, вы передумали и не хотите, чтобы производственный режим развертывал ваше приложение
Claudiu Creanga

Ответы:

24

Вы можете восстановить статический контент, выполнив следующую команду

php bin/magento setup:static-content:deploy

Это команда, которую вы должны выполнить перед развертыванием в производственном режиме. Если вы работаете в режиме по умолчанию или в режиме разработчика, эти файлы должны генерироваться автоматически. Я предполагаю, что вы случайно удалили папку, которую Magento ожидает там - запуск setup:static-content:deployможет восстановить эту папку или может привести к явной ошибке об отсутствующих папках. Если это позже, ошибка должна (надеюсь!) Предоставить достаточно информации для восстановления отсутствующих каталогов. Вы можете запустить команду в подробном режиме

php bin/magento -vvv setup:static-content:deploy

Это скажет bin/magentoкоманде вывести фактическое исключение в случае ошибки.

Алан Сторм
источник
да, уже нашел это. хорошо, что у него есть отмеченный ответ сейчас. благодарю вас. и не знал о -vvv. это может быть полезно. спасибо еще раз
Лачезар Райчев
1
Иронично ... Я столкнулся с этой проблемой в Magento 2.1.2, выполнив шаги по установке Commerce Bug 3. От Алана Бури. Этот ответ решил проблему, хотя.
gwideman
@gwideman Если бы у вас был момент, не могли бы вы сообщить нам о проблемах, с которыми вы столкнулись при установке Commerce Bug 3? Мы заинтересованы в том, чтобы максимально улучшить опыт в рамках ограничений, установленных Magento Inc. pulsestorm.net/blog
Alan Storm
1
@AlanStorm Возможно, проблема в том, что сайт (который является тестовым сайтом) находится в рабочем режиме. Вкратце, после README от Commerce Bug, на magento setup:upgradeшаге появилось сообщение «Пожалуйста, перезапустите команду компиляции Magento». Я побежал magento setup:di:compile. После этого сайт не работал - никаких изображений или других статических файлов, таких как js. В основном отсутствовали pub / static / frontend и pub / static / adminhtml. Отсюда и необходимость бежать setup:static-content:deploy.
gwideman
Если вы находитесь в разработке, добавьте -f, чтобы вызвать и получить ошибку
open-ecommerce.org
5

Это вызвало то, что когда вы удалили саму папку pub / static, вы удалили файл .htaccess, необходимый для регенерации содержимого в рабочем режиме. Без этого файла никакие активы не будут автоматически восстановлены.

Если это когда-нибудь случится снова, вы можете скопировать этот файл из другого экземпляра Magento 2 (если у вас есть еще одна настройка) или попытаться восстановить файл, скопировав файл .htaccess из GitHub Magento: https://github.com/magento/magento2. /blob/develop/pub/static/.htaccess

Чтобы этого не происходило, очищайте только содержимое папки в каталоге pub / static, например, frontend или adminhtml.

Перри Холден
источник
3

Вы можете выполнить следующие шаги: -

1. Delete all folders under pub/static
2. Delete var/cache
3. Delete var/composer_home
4. Delete var/generation
5. Delete var/page_cache
6. Delete var/view_preprocessed

Теперь откройте командную строку и перейдите в корневой каталог magento 2 и выполните следующие команды

php bin / magento setup: static-content: deploy

Свапна тару
источник
3

Вам просто нужно запустить эту команду для генерации статического контента:

php bin/magento setup:static-content:deploy

Убедитесь, что владелец статического паба совпадает с владельцем Magento.

Убедитесь, что у вас есть необходимый файл .htaccess в вашей папке.

Сураб Моди
источник
3
  1. Удалить все папки в pub/static
  2. Удалить var/cache
  3. Удалить var/composer_home
  4. Удалить var/generation
  5. Удалить var/page_cache
  6. Удалить var/view_preprocessed

После этого перейдите в корень magento 2 и запустите:

php bin/magento setup:static-content:deploy
Шешгири Анвекар
источник
0

Если вы удалите файл .htaccess, у вас может возникнуть множество проблем. (получение 404 ошибок при попытке получить доступ к вашим файлам CSS + JavaScript и еще много чего.

Если это происходит с вами, лучший способ, который я нашел, это исправить - повторно загрузить magento zip или tar и извлечь папку pub / static в каталог вашего проекта. Это должно включать файл .htaccess и исправить любые проблемы, которые у вас есть.

user49531
источник