为什么`中间人服务’工作,但是’中间人构建’无法编译这个Sass?

当我只运行all.css来服务时, all.css被编译得很好,只包含对+box-shadow(none)的调用:

 /* line 1, /home/yang/asdf/source/stylesheets/content.css.sass */ div { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; } 

但是当我构建网站时,我得到了这个Sass / Compass错误:

 $ middleman build Slim::EmbeddedEngine is deprecated, it is called Slim::Embedded in Slim 2.0 Slim::EmbeddedEngine is deprecated, it is called Slim::Embedded in Slim 2.0 Slim::EmbeddedEngine is deprecated, it is called Slim::Embedded in Slim 2.0 /home/yang/asdf/source/stylesheets/content.css.sass:2:in `box-shadow': Undefined mixin 'box-shadow'. (Sass::SyntaxError) (in /home/yang/asdf/source/stylesheets/content.css.sass:2) from /home/yang/asdf/source/stylesheets/content.css.sass:2 from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:253:in `visit_mixin' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:37:in `visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:100:in `visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `block in visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `map' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:121:in `with_environment' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:108:in `visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:37:in `block in visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:320:in `visit_rule' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:37:in `visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:100:in `visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `block in visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `map' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:121:in `with_environment' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:108:in `visit_children' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:37:in `block in visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:128:in `visit_root' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:37:in `visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:100:in `visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:7:in `visit' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/root_node.rb:20:in `render' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/engine.rb:315:in `_render' from /var/lib/gems/1.9.1/gems/sass-3.2.7/lib/sass/engine.rb:262:in `render' from /var/lib/gems/1.9.1/gems/sprockets-sass-0.9.1/lib/sprockets/sass/sass_template.rb:40:in `evaluate' from /var/lib/gems/1.9.1/gems/tilt-1.3.7/lib/tilt/template.rb:77:in `render' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/context.rb:197:in `block in evaluate' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/context.rb:194:in `each' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/context.rb:194:in `evaluate' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/processed_asset.rb:12:in `initialize' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:374:in `new' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:374:in `block in build_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:395: from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:373:in `build_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/index.rb:94:in `block in build_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/caching.rb:51:in `cache_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/index.rb:93:in `build_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:287:in `find_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/index.rb:61:in `find_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/bundled_asset.rb:16:in `initialize' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:377:in `new' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:377:in `build_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/index.rb:94:in `block in build_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/caching.rb:51:in `cache_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/index.rb:93:in `build_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/base.rb:287:in `find_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/index.rb:61:in `find_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/environment.rb:75:in `find_asset' from /var/lib/gems/1.9.1/gems/sprockets-2.9.2/lib/sprockets/server.rb:47:in `call' from /var/lib/gems/1.9.1/gems/middleman-sprockets-3.0.11/lib/middleman-sprockets/extension.rb:200:in `call' from /var/lib/gems/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:134:in `call' from /var/lib/gems/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:64:in `block in call' from /var/lib/gems/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `each' from /var/lib/gems/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `call' from /var/lib/gems/1.9.1/gems/middleman-more-3.0.13/lib/middleman-more/extensions/minify_javascript.rb:51:in `call' from /var/lib/gems/1.9.1/gems/middleman-more-3.0.13/lib/middleman-more/extensions/minify_css.rb:50:in `call' from /var/lib/gems/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:134:in `call' from /var/lib/gems/1.9.1/gems/rack-test-0.6.2/lib/rack/mock_session.rb:30:in `request' from /var/lib/gems/1.9.1/gems/rack-test-0.6.2/lib/rack/test.rb:230:in `process_request' from /var/lib/gems/1.9.1/gems/rack-test-0.6.2/lib/rack/test.rb:57:in `get' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/cli/build.rb:259:in `block in execute!' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/cli/build.rb:256:in `each' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/cli/build.rb:256:in `execute!' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/cli/build.rb:198:in `invoke!' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/actions.rb:95:in `action' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/cli/build.rb:65:in `build' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/task.rb:27:in `run' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/invocation.rb:120:in `invoke_task' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor.rb:275:in `dispatch' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/base.rb:425:in `start' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/cli.rb:77:in `method_missing' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/task.rb:29:in `run' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/task.rb:126:in `run' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/invocation.rb:120:in `invoke_task' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor.rb:275:in `dispatch' from /var/lib/gems/1.9.1/gems/thor-0.15.4/lib/thor/base.rb:425:in `start' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/cli.rb:22:in `start' from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/bin/middleman:18:in `' from /usr/local/bin/middleman:19:in `load' from /usr/local/bin/middleman:19:in `' 

我在下面的一个简单的例子中重现了这一点,如果你想在本地重新编写,我还在底部包含了base64编码的tar.gz。 它还包括完整的回溯。

这是文件树:

 asdf ├── config.rb ├── config.ru ├── error ├── Gemfile ├── Gemfile.lock ├── source │  └── stylesheets │  ├── all.css.sass │  └── content.css.sass 

以下是所有文件内容:

config.rb:

 require 'animate-sass' require 'susy' require 'slim' set :css_dir, 'stylesheets' set :js_dir, 'javascripts' set :images_dir, 'images' set :fonts_dir, 'fonts' configure :build do activate :minify_css activate :minify_javascript activate :relative_assets require "middleman-smusher" activate :smusher 

config.ru:

 require 'rubygems' require 'middleman/rack' run Middleman.server 

的Gemfile:

 source :rubygems gem "slim" gem "susy" gem "animate-sass" gem "middleman", "~>3.0.13" gem "middleman-smusher" 

Gemfile.lock:见tar.gz

all.css.sass:

 @import compass/css3/box-shadow @import content 

content.css.sass:

 div +box-shadow(none) 

这是base64-encodede tar.gz,您可以使用base64 -d解码:

 H4sIADhQcFEAA+0ca3Mbt1Gf+SsQujOiW/GePFLixJo4juK2Ezsau55+vEJ3oAjrHixwJ0uZTH57 F497UZRFSTzZbrAfbBIL7Au7e7s4iJjHC5swlrO93sABmE4n4n93Frj6f0+OO47nBL6/53quP3EC x/FhnusGXrCHnP5EaqDkBWYI7V3j7Pxz8+7Cf6PwF5TSOE5IijN0VtIkHrxPaDqfn6RnJI5JfJKd 04wgylFMVoxEuCDxAaKFGIlwkpAYdRcgmskR5FnOV0vLXuYpscWW2lgEAM9LFhGbF9cJ4UtCCm5H eVaQrLAizi2OOZ97c6Dwn7P8asyXOM4/7c/RhywmCxAjBiNeAXa/hbXQ6L1YNn9/nRX46kSE2PMB QiOY9yD2YrGCBcvTh9FYI3GJmZ3QM/ucpNx2rSPLVR/F5LFvedZMosVXu2CE2JeU0yJn3F4RtshZ arGzuRf40jISF0pD7O+MzxnmRDDxZw2P3VFvaeE6Th8cKvm1jc6SPLoQnqiMFS0h4BjpwV6aX4pX vdHuS4XOphw9jdnaPD1X8vxEi2VIskvK8iyFKOpJwcNebbkWPl079qKR77XiKGRlQkwyMMnAJIM/ ZTJwvbZGLM97CKZvNRm0OOxSA2HkMMtjaRudi8GLYsIeQ5rIalua2w0kzXCXRL2p9xBBVww8GArd saTuSIykXiEUH/FPWJB0lUCTINhNlFnIJU5KGNqWX0GTYuxavtZBfLXbZGezRynhwaC3Jr+s4K8K 6YZHa2F7X/HvwWmi7IOjZX/Edyq9+EA4J3EIe00UI+VSNKMFxQn9bUecmrSj9MjIp34I1/ssu3Kl 1445HalQjiiLygSzUPTNIUwrSFTQfPsnz5Z66apn1+pQCLcrweGob8NFEBA0O5dlj6oLxAjpR5me rFVth3eo0skCOPaiwNTthf5ZmcVJJ86nPcf5rK84n5l4MPHwWPqtpkTWIEEvXDhhl4TJ2mmmNzpJ tiVdHzCPGya+5ViuqtY2oG0oFkjG4Rmkqljn3jwZji6gVptYgUSLr7b0HaWF6092QrJkCXTVcnvX gm13lCdH967GtiL4sC1Mc0bU7vlruycwzcaJNRldXIcf8SXmEaOropMnnoS3OPgWTL8e/ykIL6BT meoIk3RTcJmQQ/mq/d2vurb/ljD70eTFmAwjTVfXyuGu6QcqM5xvn3Oa/Ytu3VmBsaOEKuur9w1r 50DkikRlQb7rm+303nH4SE5Popd7dKgLqMv8YntmxTJn4AluYE1UNwzfbSz7BhlzurfA9+okHqbB NGhKg0eJX2B+ITdAN/Ll1oJvJCcsGuFCR7WrD2OUnUPB6zHUlZxK85jyFS62d8uN0laF0MRTRMVr 8V4iuXVUkhJgHYcphdyXne9m7452sncVOdebGl/o1xc8b1c8zmjWYOauymvfF/kKjcTDjjISPz9e Z1FyYAF7k6wvV46U5PhGUrljyfcpphnw+dJXO7YCeXcgyrMFFX1cPzw+f//H8R1/Ku//+NPZxJsE e47reVPX3P95Cnj27NngGXqVpytoFwfiG3x9X/JrdM5ozEV9VSPRz5TxYo4gBGEc7JYkiIup4/GK kcFABxnaxxlNcUHkufx+Myzm7gv6r5ZgTFIRRsr9SibzI6AjNR6qcRTn6Hf18XdAIj3dystiVRah vPCCXqC5XBUVMIVk8WCgFDvFwCdfybLkACX4GlbBB5xQSHEc4SxGUA9fUaJ1b2RNaCplPSVsvBJU 1GIUSdn5fCDI/5sWS5TlGgcDcubQhhS8tIvcXtCEWMsiTYYHaK4JvDhGC5xw0hDASUFYBtpfkvtS mufFkrBqESx7icQK9GlJI0E4QUsMVGES4jhtkZdvNDWdOY6hYQI7S/NqxnLM/uuwtic6BUNdo9EC X5DnSMjDGzGLJeXSTOMl5uMsH9cvRiqZV3I1iDysX5qMG6Uq5j9IwUPBI5SkX6DhO/lCBQoEhJFA KJ6fpOUQPCEoPkvIsLvvfyfJirDaoV+WRQ4eSSMEjgmLY5rqVhHlmRqDp/A5WsplsEDUrZcgItim WhqqaZz+BorDlDeyeBH3z9QVMLCgMLMiwZFqTzD4EjTANBEyyilad2G7aqrWHQghnqckrKUQMBSq gPJD+V2oqBXlBHYOOtwwpuwAHLa5+LWvkR8rXNOD1zipTIVXXyrUIs+KCiM/AwKY/ijq6zFfkYgu wJDdoK2+gcFkHS50QggyRs6gP8OgMznQoSOtVIW+CmKkgngBk2OySvJrcZwF65tdaBr6gaT7Rn5H /6wVE/uo7i9uWNbor1afZHI75GklrOIQfnK8WagOMjVK4j5wghhJVJR+ePcL7zCqMOrQTQsplGTQ aqPTt68h1yyAVi3jxmTaOgpLS9hLIVWVkYY3kMOOBNUKSftXhkqQF4OjLxaEgTW144vkIGfInV4W xSoUQwcQla/UbUFbOYM9HICXfemnk4G+oVP/lf3wuKP+c1zHu1H/zXxT/z0F1AUPK8+uRW/Vqtfq jCMP+uApAF0wZF49aKmXAt9Gm2PgFpDx/5qkohTri8ed8R/M1uLfnU1N/D8JqD8bgAJGh/9gIAqS oWh/hvojdG36Y7uv00N1joAaf/jHsTqJWcc1FcuXVtfAGrTj3xItSw887oj/wHed9ef/zJma+H8K eH3yRjYZaV6QORINwdy2q2Rg5ezcBrRo+vhcnoLKhoPwcrXKWYFG4kqn61d/mkTdwwyNXiDxhtCt BtMyKWj4kUODNvrjGLmWozDtZIJGkDaaJfoACI2OBS3XtQKFiZZldnEdrrJzNHKB86EezqHJAUKq ERx5gHEaUi3cWGU7jRLv1z7ymxT0LMHCt/yKhZYIxAH6NfWWQFK3GrPgPNXye9asGlW6wky/UlYJ IXhNGqFvM5kiKii6emSJ0wSNYGnDWdxLVTh6QZSdNE62ewxabuhDhSKtRaLAk+ICr0aOkiVhmpfQ PQoxJN+GUpRQ0VeCuWsrqf1v7b5SwbVmlQkSCh21nDOrFqWYlRdlZxkYSv7R3LpEzZ8qjtSDpjZY 532AcMHb8Okd+PoOit4mp3KydRZdAmthIZd61rRCq1trTO9mrWVlDWnc2iDVbsi5k2Z2/QZeL2iZ i52NF5xcknqnjhpi4o2OHhVvedpuonn4laDrZurquBZmsPTOSKsZtIh0QrsVS1UkaLVrusrFj8WW uY1FlatpOzgH6Hv5oSZWOVU1YVtHWeGY0SwfV0dzMplBoKxFsJbGayLlPKELWu+wd9OiugRSRr0p j6bZQtULpA4T6+gGxcZV1XWq27xdU24mdJ3cs24ixnWmktfqNetWWhIxra1d2UxZtGuuzXHR7G07 IykXbSUlTjNcMFw7kbvZpb2NLu10has3tCtf243WfaDykPYKFZnyYlAzMG7uTAtc0OgnsM00Fbsd P23n3YqgzNrgCFWstoO7Fdlqh/zm8VKbqxXR3VzSySRtoZXNNtnxAEnh6ggWjYHicFhPF0fapI61 jWTq5ZVTtzy6+zgBdq2kIJytFvpCPblb3ivvKtZU5POu+xi+7UnasYuzQWL3AH33ou1I66HRioub AbWRoqYjXpiN3GZ7P5cTW9mmJlo9GlvPxWoHhPk1VRUi7ZSvRJF/v6IGmpzltmuUKg9LYfzPFCV6 S1tFQqtC0L4/OP3l5b9+/vXdm/eiyoSycjD46eT05O1PJ29f/eNEDLbLwEEnIernr0rOm47GhS8O lEVNY/lAaP92QF88RJM3mwW3nv8A6N//mAQT15fnP4G/h4K+BGrDn7z/u+23I3bJ4/77P/G9mdn/ p4Db9h8nSf27IY/lcdf5rzOt93/iBuL3f6ZBYM5/ngR+oKkszXUNYsOe+3bzMzaDBi/fDpvn7P8Z bPvbQY/hcWf8+3X8+7MpjLuzibn/9zQQ00soof/WRPwoyzPy3MS5AQMGDBgwYMCAAQMGDBgwYMCA AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDAVwr/A5doTQIAeAAA 

在此先感谢您的帮助!

原来这是由于某些文件无意输出,其名称不以下划线开头。 例如, content.css.sass应该是_content.css.sass ,以便middleman知道不要尝试直接构建该文件。 (我们并不熟悉middleman等等 – 这是一个交给我们的捆绑包,因此需要一段时间来追踪它。)

所以我碰到了这个并希望给出一个更精确的答案:

非下划线命名文件下游链中的任何@import ed文件都会出现错误,例如Sass::SyntaxError Undefined VariableUndefined mixin

它就像确保链中的每个文件都以下划线开头一样简单; 有时很容易路过!