Skip to main content

依存関係グラフのトラブルシューティング

依存関係グラフによって報告された依存関係の情報が期待したものと異なる場合、いくつかの考慮するポイントと、さまざまな確認項目があります。

GitHub AE によって報告された依存関係の検出結果は、他のツールから返される結果とは異なる場合があります。 これには理由があり、GitHub がプロジェクトの依存関係をどのように決定するかを理解しておくと便利です。

依存関係グラフは、マニフェストとロックファイルの依存関係のみを検索しますか?

依存関係グラフには、環境で明示的に宣言されている依存関係に関する情報が含まれます。 つまり、マニフェストまたはロックファイルで指定されている依存関係です。 依存関係グラフには、通常、マニフェストファイル内の依存関係の依存関係を調べることにより、ロックファイルで指定されていない場合でも、推移的な依存関係も含まれます。

"ゆるい" 依存関係が依存関係グラフに含まれることはありません。 「ゆるい」依存関係は、パッケージマネージャーのマニフェストまたはロックファイルで参照されるのではなく、あるソースからコピーされ、リポジトリに直接またはアーカイブ (ZIP ファイルや JAR ファイルなど) に含まれてチェックインされる個々のファイルです。

チェック: リポジトリのマニフェストまたはロックファイル内で指定されていない、コンポーネントに対する見落とされている依存関係はありますか?

依存関係グラフは、変数を使用して指定された依存関係を検出しますか?

依存関係グラフは、マニフェストが GitHub にプッシュされるときにマニフェストを分析します。 したがって、依存関係グラフはプロジェクトのビルド環境にアクセスできないため、マニフェスト内で使用される変数を解決できません。 マニフェスト内で変数を使用して名前、またはより一般的には依存関係のバージョンを指定する場合、その依存関係は依存関係グラフに含まれません。

チェック: マニフェストで、名前またはバージョンに変数を使用して、見落とされている依存関係が宣言されていますか?

依存関係グラフのデータに影響する制限はありますか?

はい、依存関係グラフの制限には 2 つのカテゴリがあります。

  1. 処理制限

    これらは GitHub 内に表示される依存関係グラフに影響を与え、Dependabot alerts が作成されないようにします。

    サイズが 0.5 MB を超えるマニフェストは、Enterprise アカウントに対してのみ処理されます。 他のアカウントの場合、0.5 MB を超えるマニフェストは無視され、Dependabot alerts は作成されません。

    規定では、GitHub はリポジトリごとに 600 個を超えるマニフェストを処理しません。 Dependabot alerts は、この制限を超えるマニフェストに対しては作成されません。 制限を増やす必要がある場合は、エンタープライズ所有者 にお問い合わせください。

  2. 視覚化の制限

    これらは、GitHub 内の依存関係グラフに表示される内容に影響します。 ただし、作成された Dependabot alerts には影響しません。

    リポジトリの依存関係グラフの依存関係ビューには、100 個のマニフェストのみが表示されます。 通常、これは上記の処理制限よりも大幅に高いので十分です。 処理制限が100 個を超える状況でも、GitHub 内に表示されていないマニフェストに対して Dependabot alerts が作成されます。

チェック: 0.5 MB を超えるマニフェスト ファイル、または多数のマニフェストがあるリポジトリに見落とされている依存関係はありませんか?

参考資料