我正在尝试使用Compass / SASS生成精灵,并收到以下错误:
NoMethodError on line ["21"] of /Library/Ruby/Gems/2.0.0/gems/chunky_png-1.3.1/lib/chunky_png/chunk.rb: undefined method 'unpack' for nil:NilClass
我的图标全部在images/icons
。这是我的_sprites.scss
部分:
@import "compass/utilities/sprites";
@import "icons/*.png";
@include all-icons-sprites;
我的指南针config.rb
:
http_path = "../../www"
css_dir = "../../www/css"
sass_dir = "../../www/sass"
images_dir = "../../www/images"
javascripts_dir = "../../www/js"
output_style = :compressed
我做错了什么?
如果有所作为,我在Mac上。
答案 0 :(得分:1)
这是因为Compass无法读取图像文件。
我通过ImageOptim运行了所有图标,精灵生成工作正常。 Another answer建议使用optipng(捆绑在ImageOptim中) - 这可能是Windows或Linux上更好的解决方案。
答案 1 :(得分:0)
我停止了指南针编译操作(CNTRL + C),之后当再次尝试再次运行时,这种情况正在发生。能够通过删除生成的精灵文件并运行"罗盘清洁"来解决它。并运行"罗盘编译"之后命令。我猜精灵图像由于中断过程而损坏。
答案 2 :(得分:0)
我有同样的问题。在我的情况下,它是由精灵丢失一个图像。添加后,一切正常。这很滑稽,因为Sass总是这么说,但在这种情况下,Sass决定对它说“未定义的方法`unpack'为nil:NilClass”。
希望对某人有所帮助。