Compass Sprites错误:未定义的方法`unpack'为零:NilClass`

时间:2014-06-22 06:52:40

标签: ruby sass compass-sass css-sprites

我正在尝试使用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上。

3 个答案:

答案 0 :(得分:1)

这是因为Compass无法读取图像文件。

我通过ImageOptim运行了所有图标,精灵生成工作正常。 Another answer建议使用optipng(捆绑在ImageOptim中) - 这可能是Windows或Linux上更好的解决方案。

答案 1 :(得分:0)

我停止了指南针编译操作(CNTRL + C),之后当再次尝试再次运行时,这种情况正在发生。能够通过删除生成的精灵文件并运行"罗盘清洁"来解决它。并运行"罗盘编译"之后命令。我猜精灵图像由于中断过程而损坏。

答案 2 :(得分:0)

我有同样的问题。在我的情况下,它是由精灵丢失一个图像。添加后,一切正常。这很滑稽,因为Sass总是这么说,但在这种情况下,Sass决定对它说“未定义的方法`unpack'为nil:NilClass”。

希望对某人有所帮助。