サポートされているパッケージ エコシステムの
依存関係スキャンでは、サポートされているすべてのパッケージ エコシステムに対して、直接的および推移的な依存関係の両方がサポートされます。 依存関係のスキャンでは、リポジトリ内のベンダーの依存関係を検出できません。
依存関係スキャンの検出を実行する方法により、正しいパッケージ バージョンが決定されるように、ビルド パイプラインにパッケージ復元手順があることを確認してください。そうしないと、結果が見つからないか不完全になる可能性があります。
エコシステムとバージョン
パッケージ マネージャー | 言語 | サポートされている形式 | サポートされているバージョン |
---|---|---|---|
Cargo | Rust | Cargo.toml , Cargo.lock |
v1 |
CocoaPods | Swift | Podfile.lock |
該当なし |
Go モジュール | Go | go.mod , go.sum |
該当なし |
Gradle | Java | *.lockfile |
該当なし |
Maven | Java | pom.xml |
該当なし |
npm | JavaScript | package-lock.json 、 package.json 、 npm-shrinkwrap.json 、 lerna.json |
v6、v7 、 lockfile <= v3 |
NuGet | C# | *.packages.config 、 *.project.assets 、 *.csproj |
該当なし |
pip | Python | setup.py , requirements.txt |
該当なし |
pnpm | JavaScript | package.json |
v7, v8 |
RubyGems | Ruby | Gemfile.lock |
該当なし |
Yarn | JavaScript | package.json |
v1、v2 |
Cargo
v1.77 以降 Cargo
cli がインストールされている場合は、 cargo metadata
が使用されます。これはより正確です。
Go モジュール
Go v1.17 以降を使用している場合、 go.mod
はエージェントに存在する場合は go cli
と共に直接使用されます。 それ以外の場合は、 go.sum
ファイルがスキャンされます。
Maven
検出するには、 maven
CLI をエージェントにインストールする必要があります。
npm
依存関係スキャンではルート package.json
ファイルが検出されますが、 package.json
の依存関係が意味的にバージョン管理されていない場合でも、ビルド時にパッケージの復元なしで特定のパッケージ バージョンを解決することはできません。
NuGet
パッケージの復元がない場合、依存関係スキャンでは、 *.csproj
の依存関係が意味的にバージョン管理されていない場合でも、特定のパッケージ バージョンは解決されません。
pip
pip v22.2.0
以上を使用してpip report
スキャンを有効にすると、より正確な検出が可能になります。
環境変数 PIP_INDEX_URL
は、 pip install --report detection
に使用するパッケージ フィードを決定するために使用されます。 pip の既定値がグローバルに構成されていない限り、既定値は PyPi インデックスを使用します。