无法编译 Magento 2 主题

Unable to compile Magento 2 theme

我正在尝试编译一个使用 Magento/blank 作为父主题的 Magento 主题,每次尝试时都会出现以下错误

[fsvuphkpwz]:public_html$ php bin/magento setup:static-content:deploy en_AU

Deploy using quick strategy
frontend/Magento/blank/en_AU            2163/2163           ============================ 100% %  1 sec               
adminhtml/Magento/backend/en_AU         2104/2104           ============================ 100% %  1 sec               
frontend/Magento/blank/en_AU            2163/2163           ============================ 100% %  1 sec               
adminhtml/Magento/backend/en_AU         2104/2104           ============================ 100% %  1 sec               
frontend/Magento/luma/en_AU             2179/2179           ============================ 100% %  1 sec               
frontend/GladiatorFitness/Gladiator/en_AU 2069/2201           ==========================>- 94% %   5 secs
Compilation from source: /mnt/data/home/######/fsvuphkpwz/public_html/vendor/magento/theme-frontend-blank/web/css/styles-m.less
error evaluating function `darken` The first argument to darken must be a color index: 2570 in _typography.less in _resets.less in _reset.less


  [Magento\Framework\Exception\FileSystemException]                                                                                                                                                        
  Cannot read contents from file "/mnt/data/home/#####/fsvuphkpwz/public_html/pub/static/frontend/GladiatorFitness/Gladiator/en_AU/css/styles-l.css" Warning!file_get_contents(/mnt/da  
  ta/home/#####/fsvuphkpwz/public_html/pub/static/frontend/GladiatorFitness/Gladiator/en_AU/css/styles-l.css): failed to open stream: No such file or directory   

我在_theme.less中的所有内容如下

//  Color nesting
@page__background-color: "#fff";
@sidebar__background-color: @color-gray40;
@primary__color: @color-gray80;
@border-color__base: @color-gray76;

@link__color: @color-gray56;
@link__hover__color: @color-gray60;

//  Buttons
@button__color: @color-gray20;
@button__background: @color-gray80;
@button__border: 1px solid @border-color__base;

//  Primary button
@button-primary__background: "#f15429";
@button-primary__border: none;
@button-primary__color: @color-white;
@button-primary__hover__background: "#f15429";
@button-primary__hover__border: none;
@button-primary__hover__color: @color-white;

//  Navigation
@navigation-level0-item__color: @color-gray80;
@submenu-item__color: @color-gray80;

@navigation__background: @color-gray40;
@navigation-desktop-level0-item__color: @color-gray80;
@navigation-desktop-level0-item__hover__color: @color-gray34;
@navigation-desktop-level0-item__active__color: @navigation-desktop-level0-item__color;

//  Tabs
@tab-control__background-color: @page__background-color;

//  Forms
@form-element-input__background: @color-gray89;
@form-element-input-placeholder__color: @color-gray60;

//  Header icons
@header-icons-color: @color-gray89;
@header-icons-color-hover: @color-gray60;

编译的错误信息说

Compilation from source: 

public_html/vendor/magento/theme-frontend-blank/web/css/styles-m.less
error evaluating function `darken` 
The first argument to darken must be a color index: 
    2570 in _typography.less in _resets.less in _reset.less

所以听起来好像有调用 LessCSS 变暗的 magento 代码 function/subroutine/etc? (我不确定 LessCSS 术语是什么)。但是,该参数存在一个问题——它不是有效的 LessCSS 颜色索引。

下面是一个调用 darken 的例子。

vendor/magento/magento2-base/lib/web/css/source/lib/variables/_typography.less
80:@border-color__base: darken(@page__background-color, 18%);

这是一个 darken 的调用,它的第一个参数是 @page__background-color

因此,在您的系统中有一个 darken 调用,其第一个参数的值不是 "a valid LessCSS color index"。所以,你已经改变了一些东西——(你自己添加了一个变暗的调用?将像 @page__background-color 这样的变量的值更改为不是有效颜色索引的东西?不小心删除了某个地方的变量?)——已成功,因此您的系统会尝试使用无效值调用 darken

根据你发布的内容,我的第一个猜测是这个

@page__background-color: "#fff";

需要这样

@page__background-color: #ffffff;

但这只是初步猜测。

希望对您有所帮助,祝您好运。