独自の NuGet フィードのホスト
パッケージをパブリックに利用できるようにする代わりに、組織やワークグループなど、制限された対象ユーザーのみにパッケージをリリースする必要がある可能性があります。 また、一部の会社では、開発者が使用する可能性があるサードパーティ製のライブラリを制限する必要がある場合があります。そのため、開発者に nuget.org ではなく、制限されたパッケージ ソースから引き出すように指示します。
このようなすべての目的のために、NuGet では次の方法でプライベート パッケージ ソースの設定をサポートします。
- ローカル フィード: パッケージは適切なネットワーク ファイル共有に単純に配置され、
nuget init
とnuget add
を使用して、階層フォルダー構造 (NuGet 3.3 以降) を作成するのが理想的です。 詳細については、「ローカル フィード」を参照してください。 - NuGet.Server: パッケージは、ローカル HTTP サーバー経由で有効にされます。 詳細については、「NuGet.Server」を参照してください。
- NuGet ギャラリー: パッケージは、NuGet ギャラリー プロジェクト (github.com) を使用して、インターネット サーバー上にホストされます。 NuGet ギャラリーは、nuget.org と同様に、ブラウザー内からパッケージを検索できる広範な Web UI など、ユーザーの管理や機能を備えています。
リモート プライベート フィードをサポートする Azure Artifacts や GitHub パッケージ レジストリなど、他のいくつかの NuGet ホスティング製品もあります。 このような製品の一覧を次に示します。
- Artifactory (JFrog)
- Azure Artifacts。これは、Team Foundation Server 2017 以降でも利用できます。
- BaGet。ASP.NET Core 上に構築された NuGet V3 サーバーのオープン ソースの実装
- BaGetter は、BaGet のオープンソースでコミュニティ主導のフォークです
- Bytesafe フル マネージド パッケージおよびサプライ チェーンのセキュリティ プラットフォーム
- Cloudsmith。フル マネージド パッケージ管理の SaaS
- Feedz.io フル マネージド パッケージ管理の SaaS
- Gitea。パッケージ レジストリとして NuGet をサポートするオープンソースのセルフホステッド Git サービス
- GitHub パッケージ レジストリ
- GitLab パッケージ レジストリ
- JetBrains Space
- LiGet。Docker の Kestrel 上で実行される NuGet V2 サーバーのオープン ソースの実装
- MyGet
- Nexus Repository OSS (Sonatype)。
- NuGet Server (オープン ソース)。Inedo の NuGet Server と同様のオープンソースの実装
- NuGet Server。Inedo のコミュニティ プロジェクト
- ProGet (Inedo)
- Sleet。オープン ソースの NuGet V3 静的フィード ジェネレーター
- TeamCity (JetBrains)
パッケージがどのようにホストされているかに関係なく、NuGet.Config
で利用可能なソースの一覧にパッケージを追加して、アクセスします。 これは、「パッケージ ソース」に示されているように Visual Studio で、またはコマンド ラインから nuget sources
を使用して実行できます。 ソースへのパスは、ローカル フォルダーのパス名、ネットワーク名、または URL にすることができます。