GitHub Pages build failure

前言

最近部署 Hexo 到 GitHub Pages 時一直發生「The page build failed for the master branch with the following error」或是「The page build failed for the main branch with the following error」的問題,所以這一篇紀錄一下。

Page build failure

首先這邊我主要發現的狀況在於使用 hexo d -g 之後會收到「Page build failure」的信件,全文內容如下:

1
2
3
4
5
6
7
8
9
The page build failed for the `master` branch with the following error:

Unable to build page. Please try again later.

For information on troubleshooting Jekyll see:

https://docs.github.com/articles/troubleshooting-jekyll-builds

If you have any questions you can submit a request at https://support.github.com/contact?repo_id=180706716&page_build_id=253626373

稍微查了一下有幾種可能

  • GitHub Pages 出現問題
  • 被當成 Jekyll 編譯

如果是前者的話,基本上就是只能等 GitHub 官方修正,而目前來講今天是 2021/05/16 就發生了滿多人在反應 GitHub Page build failure 問題

GitHub Community

可詳見:Unable to build page. Please try again later

在找問題過程中,其實我還沒翻 GitHub Community,但是有翻到之前一些錯誤的原因,例如被 GitHub 誤當成 Jekyll 來編譯,而 Jekyll 這邊可以詳見維基百科介紹,這邊就不多說明。

因此為了避免這個狀況發生,其實我們可以在上傳靜態頁面時,只需要在根目錄上加上一個空白檔案叫做「.nojekyll」就不會被當作 Jekyll 編譯哩~

Hexo NoJekyll

接下來說明一下如何替 Hexo 加入 .nojekyll

首先你必須在 source 下新增這個空白檔案,然後打開部落格的 _config.yml(不是主題的),接下來搜尋「Include / Exclude file(s)」,改成以下

1
2
3
4
5
6
# Include / Exclude file(s)
## include:/exclude: options only apply to the 'source/' folder
include:
- .nojekyll
exclude:
ignore:

最後一個步驟格外重要,若你沒有設置的話,你會發現 deploy 到 GitHub Pages 時並不會有 .nojekyll 檔案,因此你必須修改「Deployment」的部分,只需要增加 ignore_hidden 並改成 false 即可:

1
2
3
4
5
deploy:
type: git
repo: https://github.com/hsiangfeng/hsiangfeng.github.io.git
branch: master
ignore_hidden: false

基本上這只是一個單純避免又發生被 GitHub Pages 當成 Jekyll 編譯的一個預防措施而已。

GitHub Status

最後這邊其實也可以透過 GitHub Status 頁面了解目前所有服務的狀況哩~

GitHub Status

參考文獻

Liker 讚賞 (拍手)

如果這一篇筆記文章對你有幫助,希望可以求點支持或 牡蠣 鼓勵 (ノД`)・゜・。

Liker 是一個按讚(拍手)的讚賞機制,每一篇文章最多可以按五下(拍手),按讚過程你是完全不用付費的(除非你想要每個月贊助我 :D),你只需要登入帳號就可以開始按讚。
而 Liker 會依據按讚數量分配獎金給創作者,所以如果你願意按個讚我會非常感謝你唷。

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ