【解决方法】hexo g 报错 "OperationalError:' EPERM:' operation not permitted, unlink …"

运行 hexo g 报错如下:

FATAL {
err: [OperationalError: EPERM: operation not permitted, unlink 'F:\blog\public\uncategorized\newpaper'] {
cause: [Error: EPERM: operation not permitted, unlink 'F:\blog\public\uncategorized\newpaper'] {
errno: -4048,
code: 'EPERM',
syscall: 'unlink',
path: 'F:\\blog\\public\\uncategorized\\newpaper'
},
isOperational: true,
errno: -4048,
code: 'EPERM',
syscall: 'unlink',
path: 'F:\\blog\\public\\uncategorized\\newpaper'
}
}

网上的解决办法:

  1. 权限不够,cmd 使用管理员打开

    无法解决

  2. 删除 C:\Users\用户.npmrc 文件

    无法解决

  3. 清除缓存

    使用 npm clean cache --force 清除缓存

    删除 package-lock.json 文件

    使用 npm install 重新安装

    无法解决

  4. 删除 node_modules 目录

    无法解决

解决方法

网上几乎全是针对 npm 的解决方法,而我的错误是在执行 hexo g 遇到的,且在官网上也没找到解决办法,最后尝试 删除 F:\blog\public\ 下对应的目录 ,重新 hexo g 就不会报错了

他在错误中已经提示了:

err: [OperationalError: EPERM: operation not permitted, unlink 'F:\blog\public\uncategorized\newpaper']

我一开始把 newpaper 文件删除了,但是他又会报另外 uncategorized 下的另一个文件的错,所以需要删除 uncategorized 整个目录,大家根据自己的情况删除就行了,我这个目录下的文件都是根据 source/_posts/ 生成的,删除之后再执行命令 hexo g 会重新生成的~