Magento2重新生成全部静态内容


10

在开发人员模式下,我删除了pub / static文件夹,希望事情会恢复原样。在那之后,只有文件夹

_requirejs

生成了,所以现在我什么都错过了-所有的CSS和JS文件都消失了。我该如何解决这个问题?请帮忙。


Web服务器是否可以写入pub / static目录?
彼得·奥卡拉汉

是的,它可由Web服务器和magento用户写入。我已授予ti 777权限,以防万一,绝对是这样
Lachezar Raychev 2016年

drwxrwsrwx 3 ubuntu www-data 4096 Feb 17 17:24 static app / design / adminhtml / Magento和app / design / frontend / Magento目录为empy,我不知道这是否相关
Lachezar Raychev

我也无法切换回默认模式
Lachezar Raychev

2
他们为什么不能将其切换回默认视图?也许您改变了主意,并且不希望生产模式部署您的应用程序
Claudiu Creanga 2016年

Answers:


24

您可以通过运行以下命令来重新生成静态内容

php bin/magento setup:static-content:deploy

这是在部署到生产模式之前要运行的命令。如果您在默认模式或开发人员模式下运行,则这些文件应该会为您自动生成。我的猜测是您不小心删除了Magento期望存在的文件夹-运行setup:static-content:deploy可能会还原该文件夹,或者可能导致有关丢失的文件夹的明确错误。如果是较晚的版本,该错误应(希望如此)提供足够的信息来重建丢失的目录。您可能想在详细模式下运行命令

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

bin/magento如果有错误,这将告诉命令输出实际的异常。


是的,已经发现了。很好,它现在有明显的答案。谢谢。而且不知道-vvv的东西。这可能会有所帮助。再次感谢您
Lachezar Raychev 2016年

1
具有讽刺意味的是,按照安装Commerce Bug 3的步骤,我在Magento 2.1.2中遇到了此问题。来自Alan Storm。这个答案虽然解决了问题。
gwideman '16

@gwideman如果您有时间,请介意让我们知道您在安装Commerce Bug 3时遇到的问题吗?我们在提高经验多,我们可以限制通过设置Magento的公司中有趣 pulsestorm.net/blog
艾伦风暴

1
@AlanStorm问题可能是由于站点(它是测试站点)处于生产模式。简而言之,遵循Commerce Bug的自述文件,在magento setup:upgrade步骤3中,结果消息为“请重新运行Magento编译命令”。我跑了magento setup:di:compile。之后,该网站无法正常工作-没有图像或其他静态文件(如js)。基本上,缺少pub / static / frontend和pub / static / adminhtml。因此需要运行setup:static-content:deploy
gwideman '16

如果您正在开发中,请添加-f强制并获取错误
open-ecommerce.org

5

导致此问题的原因是,当您删除pub / static文件夹本身时,您删除了.htaccess文件,该文件是在生产模式下重新生成内容所必需的。没有该文件,将不会自动重新生成资产。

如果再次发生这种情况,则可以从另一个Magento 2实例复制该文件(如果有另一个设置),或者尝试通过从Magento的GitHub复制.htaccess来还原该文件: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

现在打开命令提示符并转到root的magento 2安装并运行以下命令

php bin / magento设置:静态内容:部署


3

您只需要运行以下命令即可生成静态内容:

php bin/magento setup:static-content:deploy

确保pub static的所有者与您的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文件,则可能会有很多问题。(尝试访问css + javascript文件等时收到404错误。

如果发生这种情况,我发现最好的解决方法是重新下载magento zip或tar,然后将pub / static文件夹解压缩到项目目录中。这应该包括.htaccess文件,并解决您遇到的任何问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.