前情提要
我的 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)