GitHub Pages と Hexo を使って静的ブログを構築する際、いくつかの典型的なエラーに遭遇することがあります。ここではそれらの問題と解決策を整理し、スムーズな環境構築をサポートします。
Git 認証情報の設定
hexo deploy 実行時に以下のようなエラーが発生することがあります:
remote: Repository not found.
fatal: repository 'https://github.com/username/username.github.io.git/' not found
これは単にローカル Git のユーザ情報が未設定であることが原因です。以下のコマンドでグローバル設定を行います:
git config --global user.name "your-github-username"
git config --global user.email "your-github-email@example.com"
これにより、リモートリポジトリへのプッシュが正常に動作するようになります。
ブランチ名の不一致問題
近年の GitHub では新規リポジトリのデフォルトブランチが main となっていますが、Hexo のデプロイ設定は従来 master を前提としているため、不整合が生じます。これにより、ローカルプレビュー(hexo server)と公開サイトの見た目が異なるなどの問題が発生します。
対処法は以下のいずれかです:
- Hexo の
_config.yml内のdeployセクションでブランチ名をmainに変更する:deploy: type: git repo: https://github.com/username/username.github.io.git branch: main - GitHub 側でリポジトリのデフォルトブランチを
masterに変更する(推奨)。
npm install 関連の注意点
依存パッケージのインストール時に不要な警告やエラーを避けるため、以下のようにオプションを付与することを推奨します:
npm install --no-fund
また、npm audit や脆弱性修正の提案が出た場合、まずは指示に従って対応します。それでも解決しない場合は、前述のブランチ設定ミスやリポジトリのアクセス権限を再確認してください。
テーマ表示の不具合
テーマによっては、ローカルと本番環境でレンダリング結果が異なることがあります。主な原因は以下の通りです:
- GitHub Pages のブランチ設定ミス(前述)
- 必要なレンダラープラグインがインストールされていない(例:Markdown、Stylus など)
特に後者の場合、使用しているテーマのドキュメントを確認し、必要なレンダラー(例:hexo-renderer-marked、hexo-renderer-stylus)を追加インストールする必要があります。
深刻な不整合が発生した場合は、リポジトリを一度削除し、ブランチ設定を正しくした上で再構築するのが確実です。