在开发人员模式下,我删除了pub / static文件夹,希望事情会恢复原样。在那之后,只有文件夹
_requirejs
生成了,所以现在我什么都错过了-所有的CSS和JS文件都消失了。我该如何解决这个问题?请帮忙。
在开发人员模式下,我删除了pub / static文件夹,希望事情会恢复原样。在那之后,只有文件夹
_requirejs
生成了,所以现在我什么都错过了-所有的CSS和JS文件都消失了。我该如何解决这个问题?请帮忙。
Answers:
您可以通过运行以下命令来重新生成静态内容
php bin/magento setup:static-content:deploy
这是在部署到生产模式之前要运行的命令。如果您在默认模式或开发人员模式下运行,则这些文件应该会为您自动生成。我的猜测是您不小心删除了Magento期望存在的文件夹-运行setup:static-content:deploy
可能会还原该文件夹,或者可能导致有关丢失的文件夹的明确错误。如果是较晚的版本,该错误应(希望如此)提供足够的信息来重建丢失的目录。您可能想在详细模式下运行命令
php bin/magento -vvv setup:static-content:deploy
bin/magento
如果有错误,这将告诉命令输出实际的异常。
magento setup:upgrade
步骤3中,结果消息为“请重新运行Magento编译命令”。我跑了magento setup:di:compile
。之后,该网站无法正常工作-没有图像或其他静态文件(如js)。基本上,缺少pub / static / frontend和pub / static / adminhtml。因此需要运行setup:static-content:deploy
。
导致此问题的原因是,当您删除pub / static文件夹本身时,您删除了.htaccess文件,该文件是在生产模式下重新生成内容所必需的。没有该文件,将不会自动重新生成资产。
如果再次发生这种情况,则可以从另一个Magento 2实例复制该文件(如果有另一个设置),或者尝试通过从Magento的GitHub复制.htaccess来还原该文件:https : //github.com/magento/magento2 /blob/develop/pub/static/.htaccess
为防止这种情况发生,请仅清空pub / static目录下的文件夹的内容,例如frontend或adminhtml。
您可以按照以下步骤操作:
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设置:静态内容:部署
您只需要运行以下命令即可生成静态内容:
php bin/magento setup:static-content:deploy
确保pub static的所有者与您的Magento所有者相同。
确保您的文件夹中有所需的.htaccess文件。
pub/static
var/cache
var/composer_home
var/generation
var/page_cache
var/view_preprocessed
之后,转到magento 2的根目录并运行:
php bin/magento setup:static-content:deploy