dotnet nuget pushdotnet nuget push

この記事の対象: ✔️ .NET Core 2.x SDK 以降のバージョンThis article applies to: ✔️ .NET Core 2.x SDK and later versions

名前Name

dotnet nuget push - パッケージをサーバーにプッシュして発行します。dotnet nuget push - Pushes a package to the server and publishes it.

構文Synopsis

dotnet nuget push [<ROOT>] [-d|--disable-buffering] [--force-english-output]
    [--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols true]
    [--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
    [-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
    [-t|--timeout <TIMEOUT>]

dotnet nuget push -h|--help

説明Description

dotnet nuget push コマンドは、パッケージをサーバーにプッシュして発行します。The dotnet nuget push command pushes a package to the server and publishes it. プッシュ コマンドでは、システムの NuGet 構成ファイル、または構成ファイルのチェーンで検出されたサーバーと資格情報の詳細を使用します。The push command uses server and credential details found in the system's NuGet config file or chain of config files. 構成ファイルの詳細については、「Configuring NuGet Behavior」 (NuGet 動作を構成する) をご覧ください。For more information on config files, see Configuring NuGet Behavior. NuGet の既定の構成は、 %AppData%\NuGet\NuGet.config (Windows) または $HOME/.local/share (Linux/macOS) を読み込み、次にドライブのルートから開始され、現在のディレクトリで終わる、任意の nuget.config または .nuget\nuget.config を読み込むことによって取得されます。NuGet's default configuration is obtained by loading %AppData%\NuGet\NuGet.config (Windows) or $HOME/.local/share (Linux/macOS), then loading any nuget.config or .nuget\nuget.config starting from the root of drive and ending in the current directory.

このコマンドにより、既存のパッケージがプッシュされます。The command pushes an existing package. パッケージは作成されません。It doesn't create a package. パッケージを作成するには、dotnet pack を使用します。To create a package, use dotnet pack.

引数Arguments

  • ROOT

    プッシュされるパッケージのファイル パスを指定します。Specifies the file path to the package to be pushed.

オプションOptions

  • -d|--disable-buffering

    メモリ使用量を削減するために、HTTP(S) サーバーにプッシュするときのバッファリングを無効にします。Disables buffering when pushing to an HTTP(S) server to reduce memory usage.

  • --force-english-output

    インバリアントの英語ベースのカルチャを使用して、アプリケーションの実行を強制します。Forces the application to run using an invariant, English-based culture.

  • -h|--help

    コマンドの短いヘルプを印刷します。Prints out a short help for the command.

  • --interactive

    コマンドが認証などの操作をブロックして、手動アクションを要求することを許可します。Allows the command to block and requires manual action for operations like authentication. .NET Core 2.2 SDK 以降、使用できるオプションです。Option available since .NET Core 2.2 SDK.

  • -k|--api-key <API_KEY>

    サーバーの API キーです。The API key for the server.

  • -n|--no-symbols true

    シンボルをプッシュしません (存在する場合でも)。Doesn't push symbols (even if present).

  • --no-service-endpoint

    ソース URL に "api/v2/package" を追加しません。Doesn't append "api/v2/package" to the source URL. .NET Core 2.1 SDK 以降、使用できるオプションです。Option available since .NET Core 2.1 SDK.

  • -s|--source <SOURCE>

    サーバー URL を指定します。Specifies the server URL. DefaultPushSource 構成値が NuGet 構成ファイルに設定されない限り、このオプションは必須です。This option is required unless DefaultPushSource config value is set in the NuGet config file.

  • --skip-duplicate

    複数のパッケージを HTTP(S) サーバーにプッシュする場合は、すべての 409 競合応答を警告として処理して、プッシュを続行できるようにします。When pushing multiple packages to an HTTP(S) server, treats any 409 Conflict response as a warning so that the push can continue. .NET Core 3.1 SDK 以降で利用できます。Available since .NET Core 3.1 SDK.

  • -sk|--symbol-api-key <API_KEY>

    シンボル サーバーの API キーです。The API key for the symbol server.

  • -ss|--symbol-source <SOURCE>

    シンボル サーバーの URL を指定します。Specifies the symbol server URL.

  • -t|--timeout <TIMEOUT>

    秒単位でサーバーにプッシュする場合のタイムアウトを指定します。Specifies the timeout for pushing to a server in seconds. 既定値は 300 秒 (5 分) です。Defaults to 300 seconds (5 minutes). 0 (0 秒) を指定すると、既定値が適用されます。Specifying 0 (zero seconds) applies the default value.

使用例Examples

  • API キーを指定して、既定のプッシュ ソースに foo.nupkg をプッシュします。Push foo.nupkg to the default push source, specifying an API key:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • API キーを指定して、公式 NuGet サーバーに foo.nupkg をプッシュします。Push foo.nupkg to the official NuGet server, specifying an API key:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
    • API キーを指定して、カスタム プッシュ ソース https://customsourcefoo.nupkg をプッシュします。Push foo.nupkg to the custom push source https://customsource, specifying an API key:
    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • 既定のプッシュ ソースに foo.nupkg をプッシュします。Push foo.nupkg to the default push source:

    dotnet nuget push foo.nupkg
    
  • 既定のシンボル ソースに foo.symbols.nupkg をプッシュします。Push foo.symbols.nupkg to the default symbols source:

    dotnet nuget push foo.symbols.nupkg
    
  • 360 秒のタイムアウトを指定して、既定のプッシュ ソースに foo.nupkg をプッシュします。Push foo.nupkg to the default push source, specifying a 360-second timeout:

    dotnet nuget push foo.nupkg --timeout 360
    
  • 既定のプッシュ ソースに現在のディレクトリ内のすべての .nupkg ファイルをプッシュします。Push all .nupkg files in the current directory to the default push source:

    dotnet nuget push *.nupkg
    

    注意

    このコマンドがうまくいかない場合は、古いバージョンの SDK (.NET Core 2.1 SDK 以前のバージョン) に存在したバグが原因である可能性があります。If this command doesn't work, it might be due to a bug that existed in older versions of the SDK (.NET Core 2.1 SDK and earlier versions). これを解決するには、SDK のバージョンをアップグレードするか、代わりに次のコマンドを実行します: dotnet nuget push **/*.nupkgTo fix this, upgrade your SDK version or run the following command instead: dotnet nuget push **/*.nupkg

  • HTTP(S) サーバーによって 409 競合応答が返された場合でも、すべての .nupkg ファイルをプッシュします。Push all .nupkg files even if a 409 Conflict response is returned by an HTTP(S) server:

    dotnet nuget push *.nupkg --skip-duplicate
    
  • ローカル フィード ディレクトリに現在のディレクトリ内のすべての .nupkg ファイルをプッシュします。Push all .nupkg files in the current directory to a local feed directory:

    dotnet nuget push *.nupkg -s c:\mydir
    

    このコマンドでは、パッケージが階層フォルダー構造に格納されないため、パフォーマンスを最適化することをお勧めします。This command doesn't store packages in a hierarchical folder structure, which is recommended to optimize performance. 詳細については、ローカル フィードに関するページをご覧ください。For more information, see Local feeds.