Grunt NameError:变量@gutter未定义

时间:2013-12-26 02:59:39

标签: wordpress node.js twitter-bootstrap gruntjs

我正在使用Shoestrap,一个基于Roots的WordPress主题,使用Bootstrap等。我将Bootswatch Yeti theme变量添加到assets / less / bootstrap中,作为现有的替换,并添加了bootswatch.less。然后我将bootswatch.less添加到bootstrap.less。要重新编译,我运行了grunt。我添加了here的grunt文件内容。 我遇到了两个问题。一个错误我不知道如何修复和一个主要问题,即grunt似乎一直在删除assets / css / main.min.css,然后告诉我文件或目录丢失。以下是--force激活时出现的错误:

grunt --force
Running "clean:dist" (clean) task

Running "less:dist" (less) task
>> NameError: variable @gutter is undefined in assets/less/app.less on line 5, column 13:
>> 4 .gallery-row {
>> 5   padding: (@gutter / 2) 0;
>> 6 }
Warning: Error compiling assets/less/app.less Used --force, continuing.

Running "uglify:dist" (uglify) task
File "assets/js/scripts.min.js" created.

Running "version" task
Warning: ENOENT, no such file or directory 'assets/css/main.min.css' Used --force, continuing.

Done, but with warnings.

字段顺序标记(BOM)签名是我之前在问题中链接的一个问题。但TextWrangler和Dreamweaver都没有删除它。我找到了一个在这里有帮助的命令:Using awk to remove the Byte-order mark我跑了

awk '{if(NR==1)sub(/^\xef\xbb\xbf/,"");print}' app.less > app.less

这就像一个魅力!只有主题在造型方面仍然没有改变。这很奇怪。

更新我

awk命令清空我的app.less。我在这里运行了另一个命令:Using awk to remove the Byte-order mark和那个命令:

sed -i .bak '1 s/^\xef\xbb\xbf//' *.less

在没有从app.less中删除所有数据的情况下工作,但后来又出现了同样的错误:

Reading assets/less/app.less...OK
>> NameError: variable @gutter is undefined in assets/less/app.less on line 5, column 13:
>> 4 .gallery-row {
>> 5   padding: (@gutter / 2) 0;
>> 6 }

看到TextMate添加了属性并使用xattr -d com.macromates.caret file.less删除了这些属性,但这也没有做到。

更新II

似乎变量@gutter不存在。似乎有一个变量@grid-gutter-width。感谢Roots Discourse,我收到了通知 - http://discourse.roots.io/t/grunt-hits-a-snag-compiling-gutter-not-defined/940/3。尽管其他变量会弹出问题,但进行调整并没有帮助。将看看我是否可以从Shoestrap团队获得一些反馈。

1 个答案:

答案 0 :(得分:1)

在shoestrap,主题中有一个错误,我相信我们设法使用此提交来修复它:https://github.com/shoestrap/shoestrap/commit/ff75cf73cf778e4b80c5e11544c0a67717fbcc10

请告诉我这是否适合你...