无法在 Magento CE 1.9 中编译 rwd 皮肤 SCSS
Posted
技术标签:
【中文标题】无法在 Magento CE 1.9 中编译 rwd 皮肤 SCSS【英文标题】:Can't compile rwd skin SCSS in Magento CE 1.9 【发布时间】:2014-10-26 21:44:14 【问题描述】:我正在尝试基于 CE 1.9 / EE 1.14 中提供的 rwd
皮肤创建一个 Magento 皮肤。但是,当我尝试编译 SCSS(在全新安装中,删除 /skin/frontend/rwd/default/css
中的文件后)时,出现以下错误:
$ compass compile scss
write css/madisonisland-ie8.css
write css/madisonisland.css
write css/scaffold-forms.css
error scss/styles-ie8.scss (Line 541 of scss/core/_common.scss: Invalid CSS after "a:not(": expected ")", was "".button")")
Sass::SyntaxError on line ["541"] of /var/www/development/magento-mirror/skin/frontend/rwd/default/scss/core/_common.scss: Invalid CSS after "a:not(": expected ")", was "".button")"
Run with --trace to see the full backtrace
scss/core/_common.scss
中的第 541 行是:
a:not(".button")
如果我从 .button
中删除周围的引号 - 它编译成功。但是,由于这是 Magento 的全新安装,我是否真的需要编辑文件才能编译它们?指南针中是否有我错过的配置设置等?
谢谢
【问题讨论】:
问题出在您编写的代码或其他人编写的代码中? 这是来自 Magento 项目的未经修改的核心代码,所以是的 - 由其他人编写。但我会假设全新安装会编译。我在网上找不到其他关于它的信息,所以我猜它与配置有关? 您认为全新安装可以编译。可悲的是没有。包含问题的行不是有效的 SCSS 或 CSS。这个问题需要提交给代码的维护者。 有问题的代码行:github.com/OpenMage/magento-mirror/blob/magento-1.9/skin/… - 感谢您的帮助@cimmanon 我上面也有同样的问题,把它放在核心文件里很奇怪 【参考方案1】:我在做与 Tom Griffin 完全相同的事情时也遇到了这个问题 - 创建一个新的 custompackage/customtheme,以 rwd/default 作为父项。
将 core/_common.scss 复制到我的 customtheme 文件夹并根据 Tom 的初始消息删除引号可解决问题并允许 compass 正确编译。
很糟糕,Magento 附带了无法编译的无效 SCSS 文件。第一次学习 SASS 和 Compass 肯定对我没有帮助!
正如 Tom 假设的那样,这可能是 Magento 主题开发人员拥有的 SASS/Compass 版本或设置。我正在使用 SASS 3.4.1 和 Compass 1.0.0。
谢谢
汤姆
【讨论】:
【参考方案2】:这是与指南针的兼容性问题。 Magento 1.9 rwd 主题发布时,最新版本的 compass 是 0.12.6,编译正确。我至少用 1.12.3 测试过,编译没有问题。我怀疑这将在下一个版本中修复,因为开发人员将在指南针的更新版本上进行编译。删除引号将达到您想要的结果并至少在 1.0.0 和 1.0.1 版本下正确编译。这确实是一个指南针兼容性问题,而不是 Magento 核心错误,但我相信它很快就会得到解决。
【讨论】:
【参考方案3】:打开 scss/core/_common.scss 并编辑第 541 行,仅删除 ".button" 中的引号
a:not(.button)
【讨论】:
以上是关于无法在 Magento CE 1.9 中编译 rwd 皮肤 SCSS的主要内容,如果未能解决你的问题,请参考以下文章