【问题标题】:Magento 2 not loading CSS and JavaScriptMagento 2 不加载 CSS 和 JavaScript
【发布时间】:2016-03-06 13:28:57
【问题描述】:

我已在 localhost 上成功安装了 magento 2,但我无法看到管理面板,因为它向我呈现 404 错误。

其次,当我打开前端时,没有加载 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.

【问题讨论】:

标签: javascript php css magento2


【解决方案1】:

这个对我有用。 使用这个命令php bin/magento setup:static-content:deploy

第 1 步:在 CMD 中使用 cd 命令打开您的根目录

第 2 步:php bin/magento setup:static-content:deploy - 运行此命令

然后,检查您的pub/static 文件夹,那里可以使用 CSS 和 Js 文件

参考this

【讨论】:

  • 嗨,我有同样的问题,当我在第 2 步按照您的指示进行操作时,我得到:“Magento 支持 PHP 5.5.0 或更高版本。请阅读devdocs.magento.com/guides/v1.0/install-gde/…”但我有 PHP 5.5.27在我的服务器上!!!有人可以帮助我吗?
【解决方案2】:

如果在 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

您也可以禁用静态文件版本表单管理员

【讨论】:

  • 这个解决了github.com/magento/magento2/issues/21201的问题。在这之后可能需要执行 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
  • 您的答案更容易理解并且有效!
【解决方案3】:

通过添加 sudo 尝试与 root 用户相同的命令,如下所示

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

【讨论】:

    【解决方案4】:

    将核心配置数据中的 dev/static/sign 更改为 0 对我有用

    那么,

    bin/magento cache:flush
    

    那么,

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

    【讨论】:

      【解决方案5】:

      虽然这是一个老问题,但它的答案无法帮助我解决我的问题,因为它会产生相同的错误消息。我建议如下:

      1. 首先,您可以找到其根本原因。在你的magento2目录下,发现magento报错如下:

      tail var/log/system.log

      或者查找php错误日志文件中是否有错误

      如果您发现孤立的错误,请修复它。

      1. 如果未发现错误,请执行以下操作。通过执行以下命令删除生成文件夹:
      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 bin/magento setup:static-content:deploy -f
      

      【讨论】:

        【解决方案6】:

        我们也遇到过一次这个问题,并解决了。为此,您需要直接进入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.
        

        更新:

        如果我们自定义模块中的任何*.xml 文件无效,则会出现同样的错误。

        【讨论】:

          【解决方案7】:

          我也有同样的问题,下面的步骤解决了我的问题:

          第 1 步:导航到安装 magento 的目录。
          第 2 步:运行“sudo php bin/magento setup:static-content:deploy”

          【讨论】:

          • 这对我有用,因为 /pub/ 显然存在权限问题
          【解决方案8】:

          像这样提供静态部署命令:

          php bin/magento setup:static-content:deploy
          

          请为 pub 和 var 文件夹设置完全权限。

          【讨论】:

            【解决方案9】:

            在尝试了这里和https://magento.stackexchange.com/questions/97209/magento-2-css-and-javascript-not-loading-from-correct-folder中提到的所有解决方案之后

            我们无法让这件事继续下去。

            但这是一个非常奇怪的答案,但它对我们有用。

            首先,我们清除了缓存并确保在 pub/static/ 文件夹中创建静态文件。 然后检查 deploy_version.txt 是否包含与 URL 中加载的版本号相同的版本号。

            我们的罪魁祸首是存在于 pub 文件夹中的 .htaccess 文件。 pub/static 文件夹中应该只有一个 .htaccess 文件,但 pub 文件夹中没有。 在到处搜索之后,这对我们有用。

            希望它可以帮助其他寻找类似答案的人。

            【讨论】:

            • 是的!经过两个小时的调试,您终于解决了这个问题。
            【解决方案10】:

            在 Magento2 根文件夹的 CLI 界面中运行以下命令:

            $ php bin/magento setup:static-content:deploy
            $ php bin/magento indexer:reindex
            

            然后通过这个命令在你的magento2根目录下删除var文件夹。

            $ rm -rf var/*
            

            然后刷新您的主页和管理面板。

            【讨论】:

              【解决方案11】:

              如果您在 Windows 中安装后遇到 css 和设计问题,请按照以下步骤操作

              1. php bin/magento setup:static-content:deploy
              2. php bin/magento indexer:reindex
              3. 确保 apache "rewrite_module" 已启用,然后重新启动服务器
              4. 删除var/cache下的缓存文件夹

              【讨论】:

                【解决方案12】:

                您只需要在终端上运行此命令

                php bin/magento setup:static-content:deploy
                

                确保你在终端中给出了你的magento的根路径,然后运行上面的命令

                【讨论】:

                  【解决方案13】:

                  只要打开

                  MAGENTO_ROOT/app/etc/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/static/_requirejs

                  MAGENTO_ROOT/pub/static/adminhtml

                  MAGENTO_ROOT/pub/static/前端

                  【讨论】:

                    【解决方案14】:

                    只是简单而正确的解决方案,希望有用。

                    转到您的 wampserver 图标并单击它,然后

                    1. Apache->apache 模块->rewrite_module[启用此]

                    在此之后重新启动所有服务并检查它。

                    【讨论】:

                      【解决方案15】:

                      当您没有正确设置权限时会发生此错误。它看不到该命令实际存在。

                      尝试运行:

                      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-data 更改为适当的网络服务器用户。例如apache 或 www-data。

                      【讨论】:

                        【解决方案16】:

                        这对我有用:

                        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
                        

                        希望这会有所帮助。

                        【讨论】:

                        • 它说“禁止访问!错误 403”
                        【解决方案17】:

                        我只是这样做

                        rm -rf var/di

                        然后它再次工作。

                        【讨论】:

                          【解决方案18】:

                          这通常是因为var/di 文件夹中的编译失败。您可以通过删除 var 文件夹中的所有内容来解决它。

                          对于未来,不要忘记 magento 命令行实现了 symfony 详细级别:将 --v---v 附加到您的命令以查看确切的错误。

                          【讨论】:

                            【解决方案19】:

                            请按照以下步骤解决此问题。

                            1) 下载 Magento 2。

                            2) 将其提取到您的 www OR htdocs 目录中。

                            3) 安装 magento。不要使用 localhost,在 store url 和 admin url 中使用 127.0.0.1

                            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 不处于生产模式时,它会尝试为本地服务器上的一些静态资源创建符号链接。我们必须通过编辑 ROOT > app > etc > di.xml 文件来改变 Magento 2 的行为。在您喜欢的代码编辑器中打开 di.xml,找到 virtualType name="developerMaterialization" 部分。在下面的该部分中,您将找到需要修改的项目<item name="view_preprocessed" xsi:type="object">。您可以通过更改以下内容来修改它:

                            Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink
                            

                            收件人:

                            Magento\Framework\App\View\Asset\MaterializationStrategy\Copy
                            

                            7) 删除​​除.htaccess

                            以外的所有文件
                            Magento Root > pub > static > Delete all files except **.htaccess**
                            

                            完成了。现在您可以运行 magento 前端和后端 URL

                            【讨论】:

                              【解决方案20】:

                              以下答案对我有用,谢谢:

                              打开文件 MAGENTO_ROOT/app/etc/di.xml

                              并替换下面的代码表单行号 574

                              Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

                              Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

                              删除

                              MAGENTO_ROOT/pub/static/_requirejs
                              
                              MAGENTO_ROOT/pub/static/adminhtml
                              
                              MAGENTO_ROOT/pub/static/frontend
                              

                              【讨论】:

                                【解决方案21】:

                                以下解决方案有效: 请在数据库中取消以下查询。 INSERT INTO core_config_data (path, value) VALUES ('dev/static/sign', 0) ON DUPLICATE KEY UPDATE value = 0; https://magento.stackexchange.com/questions/97209/magento-2-css-and-javascript-not-loading-from-correct-folder

                                【讨论】:

                                  【解决方案22】:

                                  如果您尝试过php bin/magento setup:static-content:deploy 或任何此类相关命令,但问题仍然存在。那你不妨试试这个。

                                  此修复解决了安装 magento (v2.3) 后的无 Css 和 JavascriptAdmin 404 页面 问题。

                                  第一步:打开httpd.conf

                                  第二步:搜索

                                  1. AllowOverride(可以写成 AllowOverride all)
                                  2. Require(可以写成Require local)

                                  在此文件的目录部分

                                  第三步:改变

                                  1. AllowOverrideAllowOverride All
                                  2. RequireRequire All Granted

                                  【讨论】:

                                    【解决方案23】:

                                    如果您在 Magento 2 中安装后遇到主题问题。您可以按照以下步骤操作:

                                    1. 运行此查询:

                                      INSERT INTO core_config_data (path, value) VALUES ('dev/static/sign', 0) ON DUPLICATE KEY UPDATE 值 = 0;

                                    2. 对于本地机器运行此查询:

                                      更新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 设置:升级

                                    6. 部署内容:

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

                                    完成这些步骤后,您将能够看到正确的主题。

                                    【讨论】:

                                      【解决方案24】:

                                      如果您在 magento2 中安装后遇到 css 和 js 页面加载设计问题

                                      请按照以下步骤操作:

                                      打开终端并导航到magento web root

                                       $ 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 下的缓存文件夹

                                      上述步骤有效。我希望这也对你有用。

                                      如果有任何问题,请告诉我。 :)

                                      【讨论】:

                                      • 您假设他们的网络服务器在 www-data 下运行。将所有文件设置为完全访问权限是一个安全问题。
                                      猜你喜欢
                                      • 2017-03-15
                                      • 1970-01-01
                                      • 2010-10-06
                                      • 1970-01-01
                                      • 2018-06-13
                                      • 2016-01-17
                                      • 1970-01-01
                                      • 2017-11-24
                                      • 1970-01-01
                                      相关资源
                                      最近更新 更多