前情提要
我的 Blog 是透過 Hexo 這套框架建立出來的,
流程是:
- 撰寫文章
- 執行 hexo g建立靜態檔
- 如果想在本地看 Blog 的效果,可以用 hexo s
- 執行 hexo d部署到 Github
更多細節可以參考我以前寫得相關文章
問題
在上述的第 2 步驟,執行命令後,雖然可以產生靜態檔,
但會伴隨著以下的錯誤訊息,這就非常擾人了。
| 1 | FATAL { | 
這個錯誤訊息 OperationalError: EPERM: operation not permitted, unlink… .
是一個非常籠統的錯誤訊息,來自作業系統的底層,中間經過 hexo 與 node 的流程,
如果不深入鑽研(但是我沒有要深入),我們難以知道錯誤的細節。
好在,我發現當刪除了 public 資料夾之後,
再次執行 hexo g 就不會有錯誤訊息。
解決方法
簡單來說,我可以在每次 hexo -g 之前刪除 public 資料夾就可以了。
以下可以用一行指令替代。
| 1 | rm -rf public | hexo -g | 
再進一步,我修改了 alias 指令如下
| 1 | alias hxg="rm -rf public | hexo g" | 
如此一來,每次我執行 hxg 的時,就會依上述步驟先刪除再建立 public 靜態資料。
有關 alias 的設定,可以參考這篇文章
參考
- 【解决方法】hexo g 报错 OperationalError: EPERM: operation not permitted, unlink …
- errno(3) — Linux manual page
(fin)