ビルドエラーのトラブルシューティング
GitHub Pages サイトをローカルで、または GitHub Enterprise Server 上でビルドしているときに Jekyll でエラーが発生した� �合、そのエラーメッセージをトラブルシューティングに利用できます。 エラー メッセージとその表示方法の詳細については、「GitHub Pages サイトの Jekyll ビルド エラーについて」を参照してく� さい。
一般的なエラーメッセージが表示された� �合は、よくある問題をチェックします。
- サポートされていないプラグインを使用している。 詳細については、「GitHub Pages と Jekyll について」を参照してく� さい。
- _config.yml ファイルの
source
設定を変更しました。 GitHub Pages によってオーバーライドされます。 - 公開元のファイル名にコロン (
:
) が含まれていますが、これはサポートされていません。
具体的なエラーメッセージが表示された� �合は、エラーメッセージに関する以下のトラブルシューティング情� �を確認してく� さい。
エラーを修正したら、サイトの公開元にその変更をプッシュして、GitHub Enterprise Server 上で別のビルドをトリガーします。
Config file error
このエラーは、 _config.yml ファイルに構文エラーが含まれているため、サイトのビルドに失敗したことを意味します。
トラブルシューティングを行うには、 _config.yml ファイルが次のルールに従っていることを確認します。
- タブの代わりにスペースを使ってく� さい。
timezone: Africa/Nairobi
のように、キーと値の各ペアの:
の後にスペースを含めます。- UTF-8キャラクタ� けを使ってく� さい。
:
などの特殊文字は引用符で囲み、title: "my awesome site: an adventure in parse errors"
のようにします。- 複数行の値の� �合は、
|
を使用して改行を作成し、>
を使用して改行を無視します。
エラーを特定するには、YAML ファイルの内容をコピーし、YAML Validator などの YAML リンターに貼り付けます。
Date is not a valid datetime
このエラーは、サイトのいずれかのページに無効な日付データが含まれていることを意味します。
トラブルシューティングするには、エラーメッセージで示されたファイルおよびファイルのレイアウトで、日付関連の Liquid フィルタをコールしている箇所を探します。 日付関連の Liquid フィルターに渡される変数には、すべてのケースで値が含まれていることを確認し、nil
や ""
を渡さないようにしてく� さい。 詳細については、Liquid ドキュメントの「Liquid filters」(Liquid フィルター) を参照してく� さい。
File does not exist in includes directory
このエラーは、 _includes ディレクトリに存在しないファイルをコードが参照していることを意味します。
トラブルシューティングを行うには、エラー メッセージで include
のファイルを検索して、{% include example_header.html %}
などの他のファイルを参照した� �所を確認します。 参照したファイルのいずれかが _includes ディレクトリにない� �合は、ファイルを _includes ディレクトリにコピーするか、移動します。
File is a symlink
このエラーは、サイトの公開されたファイル内に存在しないシンボリックリンクされたファイルをコードで参照していることを意味します。
トラブルシューティングを行うには、エラー メッセージで include
のファイルを検索して、{% include example_header.html %}
などの他のファイルを参照した� �所を確認します。 参照したファイルのいずれかがシンボリック リンクされている� �合は、ファイルを _includes ディレクトリにコピーするか、移動します。
File is not properly UTF-8 encoded
このエラーは、これらの記号を期待するようコンピューターに伝えずに、日本語
などのラテン文字以外の文字を使用したことを意味します。
トラブルシューティングを行うには、 _config.yml ファイルに次の行を追� して UTF-8 エンコードを強制します。
encoding: UTF-8
Invalid highlighter language
このエラーは、構成ファイルで Rouge または Pygments 以外の構文ハイライターを指定したことを意味します。
トラブルシューティングを行うには、 _config.yml ファイルを更新して、Rouge または Pygments を指定します。 詳細については、「GitHub Enterprise Server と Jekyll について」を参照してく� さい。
Invalid post date
このエラーメッセージは、サイトでの投稿で、ファイル名または YAML フロントマターに無効な日付が含まれていることを意味します。
トラブルシューティングするには、日付がすべて YYYY-MM-DD HH:MM:SS 形式の UTC 時間で、実際のカレンダー日付であることを確認します。 UTC からのオフセットがあるタイ� ゾーンを指定するには、2014-04-18 11:30:00 +0800
のような YYYY-MM-DD HH:MM:SS +/-TTTT 形式を使用します。
_config.yml ファイルで日付形式を指定する� �合は、形式が正しいことを確認してく� さい。
Invalid Sass or SCSS
このエラーは、リポジトリに無効な内容の Sass または SCSS ファイルが含まれていることを意味します。
トラブルシューティングするには、エラーメッセージに含まれている行番号を確認して、無効な Sass または SCSS を探します。 今後のエラーを防ぐために、お好みのテキストエディター用の Sass または SCSS 文法チェッカーをインストールします。
Invalid submodule
このエラーは、適切に初期化されていないサブモジュールがリポジトリに含まれていることを意味します。
トラブルシューティングするために、まずGitプロジェクト内のGitプロジェクトであるサブモジュールを本当に使いたいかを判断してく� さい。サブモジュールは偶然作られてしまうことがあります。
サブモジュールを使用しない� �合は、サブモジュールを削除し、PATH-TO-SUBMODULE をサブモジュールへのパスに置き換えます。
$ git submodule deinit PATH-TO-SUBMODULE
$ git rm PATH-TO-SUBMODULE
$ git commit -m "Remove submodule"
$ rm -rf .git/modules/PATH-TO-SUBMODULE
サブ モジュールを使用する� �合は、サブモジュールを参照するときに https://
を使用し (http://
ではなく)、サブモジュールがパブリック リポジトリにあることを確認してく� さい。
Invalid YAML in data file
このエラーは、 _data フォルダー内のいずれかのファイルに無効な YAML が含まれていることを意味します。
トラブルシューティングを行うには、 _data フォルダー内の YAML ファイルが次のルールに従っていることを確認します。
- タブの代わりにスペースを使ってく� さい。
timezone: Africa/Nairobi
のように、キーと値の各ペアの:
の後にスペースを含めます。- UTF-8キャラクタ� けを使ってく� さい。
:
などの特殊文字は引用符で囲み、title: "my awesome site: an adventure in parse errors"
のようにします。- 複数行の値の� �合は、
|
を使用して改行を作成し、>
を使用して改行を無視します。
エラーを特定するには、YAML ファイルの内容をコピーし、YAML Validator などの YAML リンターに貼り付けます。
Jekyll データ ファイルの詳細については、Jekyll ドキュメントの「Data Files」(データ ファイル) を参照してく� さい。
Markdown errors
このエラーは、リポジトリ Markdown エラーがあることを意味します。
トラブルシューティングするには、必ずサポートされている Markdown プロセッサを使用するようにします。 詳細については、「Jekyll を使用して GitHub Pages サイトの Markdown プロセッサを設定する」を参照してく� さい。
次に、エラーメッセージで示されているファイルが有効な Markdown 構文を使っていることを確認します。 詳細については、Daring Fireball の「Markdown: Syntax」(Markdown: 構文) を参照してく� さい。
Missing docs folder
このエラーは、ブランチ上の docs
フォルダーを発行元として選択したが、そのブランチのリポジトリのルートに docs
フォルダーがないことを意味します。
トラブルシューティングを行うには、docs
フォルダーが誤って移動された� �合は、発行元用に選択したブランチのリポジトリのルートに docs
フォルダーを戻してみてく� さい。 docs
フォルダーが誤って削除された� �合は、次のいずれかを実行できます。
- Git を使用して削除を revert する、つまり取り消す。 詳細については、Git ドキュメントの「git-revert」を参照してく� さい。
- 発行元用に選択したブランチのリポジトリのルートに新しい
docs
フォルダーを作成し、このフォルダーにサイトのソース ファイルを追� する。 詳細については、「新しいファイルの作成」を参照してく� さい。 - 公開ソースを変更する。 詳細については、「GitHub Pages の発行元を作成する」を参照してく� さい。
Missing submodule
このエラーは、存在しない、または適切に初期化されていないサブモジュールがリポジトリに含まれていることを意味します。
トラブルシューティングするために、まずGitプロジェクト内のGitプロジェクトであるサブモジュールを本当に使いたいかを判断してく� さい。サブモジュールは偶然作られてしまうことがあります。
サブモジュールを使用しない� �合は、サブモジュールを削除し、PATH-TO-SUBMODULE をサブモジュールへのパスに置き換えます。
$ git submodule deinit PATH-TO-SUBMODULE
$ git rm PATH-TO-SUBMODULE
$ git commit -m "Remove submodule"
$ rm -rf .git/modules/PATH-TO-SUBMODULE
サブモジュールを使用する必要がある� �合は、そのサブモジュールを初期化します。 詳細については、Pro Git ブックの「Git Tools - Submodules」(Git ツール - サブモジュール) を参照してく� さい。
Relative permalinks configured
このエラーは、 _config.yml ファイルに GitHub Pages でサポートされていない相対固定リンクがあることを意味します。
パーマリンクとは、サイトの特定ページを参照している恒久的な URL です。 絶対パーマリンクはサイトのルートから始まり、相対パーマリンクは参照先ページを含むフォルダで始まります。 GitHub Pages と Jekyll では、相対パーマリンクがサポートされなくなっています。 固定リンクの詳細については、Jekyll ドキュメントの「Permarinks」(固定リンク) を参照してく� さい。
トラブルシューティングを行うには、relative_permalinks
_config.yml ファイルから 行を削除し、サイト内の相対固定リンクを絶対固定リンクで再フォーマットします。 詳細については、「ファイルの編集」を参照してく� さい。
Symlink does not exist within your site's repository
このエラーは、サイト用の公開されたファイル内に存在しないシンボリック リンク (symlink) が、そのサイトに含まれていることを意味します。 シンボリックリンクの詳細については、ウィキペディアの「ソフト リンク」を参照してく� さい。
トラブルシューティングするには、エラーメッセージで示されているファイルがサイトのビルドに使われているかどうかを確認します。 使われていない� �合、またはファイルをシンボリックリンクにしたくない� �合は、ファイルを削除します。 サイトのビルドにシンボリック ファイルが必要な� �合は、そのシンボリック リンクで参照されているファイルまたはディレクトリが、サイト用の公開されたファイルにあることを確認してく� さい。 外部アセットを含めるには、Bower などのサード パーティ製パッケージ マネージャーの使用を検討してく� さい。
Syntax error in 'for' loop
このエラーは、コードの Liquid for
ループ宣言に無効な構文が含まれていることを意味します。
トラブルシューティングを行うには、エラー メッセージ内のファイル内のすべての for
ループに適切な構文があることを確認します。 for
ループの適切な構文の詳細については、Liquid ドキュメントの「Iteration tags」(反復タグ) を参照してく� さい。
Tag not properly closed
このエラーメッセージは、コードに含まれる論理タグが正しく閉じていないことを意味します。 たとえば、{% capture example_variable %}
は {% endcapture %}
で閉じる必要があります。
トラブルシューティングするには、エラーメッセージで示されているファイルの論理タグがすべて適切に閉じられていることを確認します。 詳細については、Liquid ドキュメントの「Liquid tags」(Liquid タグ) を参照してく� さい。
Tag not properly terminated
このエラーは、正しく閉じられていない出力タグがコードに含まれていることを意味します。 たとえば、{{ page.title }}
ではなく {{ page.title }
です。
トラブルシューティングを行うには、エラー メッセージ内のファイル内のすべての出力タグが }}
で終了していることを確認します。 詳細については、Liquid ドキュメントの「Liquid objects」(Liquid オブジェクト) を参照してく� さい。
Unknown tag error
このエラーは、コードに認識されない Liquid タグが含まれていることを意味します。
トラブルシューティングするには、エラーメッセージで示されているファイルの Liquid タグがすべて Jekyll のデフォルトの変数に一致し、タグ名に誤入力がないことを確認します。 既定の変数の一覧については、Jekyll ドキュメントの「Variables」(変数) を参照してく� さい。
認識されないタグの主な原� は、サポート対象外のプラグインです。 サイトをローカルで生成し、静的なファイルを GitHub Enterprise Server にプッシュすることで、サポート対象外のプラグインを使用している� �合は、そのプラグインで Jekyll のデフォルトの変数と異なるタグが使われていないかどうか確認してく� さい。 サポートされているプラグインの一覧については、「GitHub Pages と Jekyll について」を参照してく� さい。