About .DS_Store

这个是笔者在搭建自己的博客时由于OS X独特的系统文件生成原因遇到的一个小问题

在我 hexo g 之后,返回了一个奇怪的ERROR 报告:

1
2
ERROR Process failed: layout/.DS_Store TypeError: Cannot read
property 'compile' of undefined

还有

1
2
ERROR Process failed: layout/_partial/.DS_Store TypeError: Cannot
read property 'compile' of undefined

在解决这个bug之前,我们先了解一下

DS_Store是什么

  1. 这种文件存在于众多的OS文件目录中,Finder自动隐藏它们,所以用户不会感到其存在。.DS_Store几乎存在于每个文件当中。它是Finder记录客户定制文件夹显示方式的一种元数据文件(metadata)用于控制一个文件夹的显示方式(列表、图标、分栏和CoverFlow)和背景图标等。
  2. 与别人交换文件或做的网页需要上传的时候,最好把 .DS_Store 文件删除。

与.DS_Store相关的设置

  • 禁止.DS_Store生成

    1
    defaults write com.apple.desktopservices DSDontWriteNetworkStores true
  • 恢复.DS_Store生成

    1
    defaults delete com.apple.desktopservices DSDontWriteNetworkStores

直接解决的方法

  • 删除所有.DS_Store文件,在terminal中输入:

    1
    sudo find / -name ".DS_Store" -depth -exec rm {} \;
  • cd 进到你使用的theme对应的目录,再进到layout/和layout/_partial/下, 分别执行

    1
    rm .DS_Store