NuGet CLI 環境変数

nuget.exe CLI のビヘイビアーはさまざまな環境変数を使用して構成できます。これらは、コンピューター全体、ユーザー、またはプロセス レベルの nuget.exe に影響を与えます。 環境変数は常に NuGet.Config ファイル内の設定をオーバーライドするため、ビルド サーバーはファイルを変更せずに適切な設定を変更できます。

一般に、コマンド ラインまたは NuGet 構成ファイルで直接指定されたオプションが優先されますが、FORCE_NUGET_EXE_INTERACTIVE などのいくつかの例外があります。 異なるコンピューター間で nuget.exe の動作が異なる場合は、環境変数が原因である可能性があります。 たとえば、(展開時に使用される) Azure Web Apps Kudu では、NUGET_XMLDOC_MODEskip に設定してパッケージの復元パフォーマンスを高速化し、ディスク領域を節約しています。

NuGet CLI は MSBuild を使用してプロジェクト ファイルを読み取ります。 すべての環境変数は、MSBuild の評価中にプロパティとして入手できます。 「MSBuild ターゲットとしての NuGet のパックおよび復元」に記載されているプロパティのリストは、環境変数として設定することもできます。

変数 説明 解説
http_proxy NuGet HTTP 操作に使用される HTTP プロキシ。 これは、http://<username>:<password>@proxy.com のように指定します。
no_proxy プロキシの使用をバイパスするようにドメインを構成します。 コンマ (,) で区切り、ドメインとして指定します。
EnableNuGetPackageRestore 復元時にパッケージで必要な場合に NuGet が暗黙的に同意するかどうかのフラグを設定します。 指定されたフラグは true または 1 として扱われ、その他の値はフラグが設定されていないとして扱われます。
NUGET_CLI_LANGUAGE nuget.exe 出力言語を変更します 6.5 以降のバージョンで利用できます。 サポートされている値は、サポートされている Visual Studio 言語のロケール名 zh-cnzh-twcs-czen-uses-esfr-frde-deit-itja-jpko-krpl-plpt-brru-rutr-tr です。
NUGET_EXE_NO_PROMPT 資格情報を求めるプロンプトの exe を禁止します。 null (つまり空の文字列) を除くすべての値は、このフラグが設定されている (true) として扱われます。
NUGET_MAX_RETRY_AFTER_DELAY_SECONDS HTTP 応答に Retry-After ヘッダーが含まれている場合の再試行の最大間隔 NUGET_OBSERVE_RETRY_AFTER が (既定と同様に) 有効になっており、HTTP 応答に Retry-After ヘッダーが含まれている場合、この環境変数は待機する最大期間を設定します。 Retry-After では、期間 (差分) またはタイム スタンプ (日付) を指定できます。 サーバーからタイム スタンプが返され、マシンのクロックがサーバーと同期していない場合、計算される期間が非常に長くなる (または負になる) 可能性があります。
FORCE_NUGET_EXE_INTERACTIVE 対話型モードを強制するグローバル環境変数。 null (つまり空の文字列) を除くすべての値は、このフラグが設定されている (true) として扱われます。
NUGET_PACKAGES グローバル パッケージ、キャッシュ、および一時フォルダーを管理する」に記載されているように、グローバル パッケージ フォルダーに使用するパス。 絶対パスとして指定します。
NUGET_FALLBACK_PACKAGES グローバル フォールバック パッケージ フォルダー。 セミコロン (;) で区切られた絶対フォルダー パス。
NUGET_HTTP_CACHE_PATH グローバル パッケージ、キャッシュ、および一時フォルダーを管理する」に記載されているように、http キャッシュ フォルダーに使用するパス。 絶対パスとして指定します。
NUGET_OBSERVE_RETRY_AFTER HTTP 応答メッセージの Retry-After の延期期間の使用をオプトアウトする NuGet 6.5 より前では、NuGet は同じバックオフ戦略で失敗したすべての要求を再試行していました。 NuGet 6.5 以降、NuGet では既定で、サーバーによって指定される Retry-After 延期期間が使用されます。 Retry-After 応答ヘッダーを無視するには、この環境変数を false に設定します。 NUGET_MAX_RETRY_AFTER_DELAY_SECONDS も参照してください
NUGET_RESTORE_MSBUILD_ARGS 追加の MSBuild 引数を設定します。 msbuild.exe に渡す方法と同じように引数を渡します。 コマンド ラインからプロジェクト プロパティ Foo を値 Bar に設定する例は、/p:Foo=Bar です。
NUGET_RETRY_HTTP_429 HTTP 429 応答の再試行ビヘイビアーを変更する NuGet 6.5 より前では、NuGet は 408 で HTTP 429 になる要求を再試行しません。 既定値は true です。この環境変数を false に設定して古い NuGet のビヘイビアー (要求を再試行しない) にオプトインできます
NUGET_RESTORE_MSBUILD_VERBOSITY MSBuild のログの詳細度を設定します。 既定値は quiet ("/v:q") です。 指定できる値は、q[uiet] (なし)、m[inimal] (最小限)、n[ormal] (通常)、d[etailed] (詳細)、diag[nostic] (診断用) です。
NUGET_SHOW_STACK 例外を完全に (スタック トレースを含み) ユーザーに表示するかどうかを決定します。 true または false (既定) として指定されます。
NUGET_UPDATEFILETIME_MAXRETRIES パッケージの抽出時に NuGet がファイルのタイムスタンプの設定を試行する回数を設定します。 Windows では、ウイルス対策ソフトウェアがファイルを一時的に開き、NuGet がタイムスタンプを変更できなくなる可能性があります。 NuGet は指数バックオフを使用します。試行の間の待機時間は Math.Pow(2, retryNumber) になります。 既定の最大再試行回数は 9 です。つまり、既定では失敗するまでの待機時間の合計は約 1 秒です。
NUGET_XMLDOC_MODE アセンブリの XML ドキュメント ファイル抽出の処理方法を決定します。 サポートされているモードは、skip (XML ドキュメント ファイルを抽出しない)、compress (XML ドキュメント ファイルを zip アーカイブとして保存)、または none (既定、XML ドキュメント ファイルを通常のファイルとして扱う) です。
NUGET_CERT_REVOCATION_MODE 署名されたパッケージがインストールまたは復元されたときに、パッケージの署名に使用される証明書の失効ステータス チェックを実行する方法を決定します。 設定しない場合の既定値は online です。 使用可能な値は online (既定)、offline です。 NU3028 に関連
NUGET_ENABLE_ENHANCED_HTTP_RETRY NuGet での拡張 HTTP 再試行を有効または無効にします。 指定できる値は、true (既定値) または falseです。
NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT 拡張再試行が有効な場合に HTTP 接続を再試行する最大回数を設定します。 実行する再試行回数を表す数値。既定値は 6 です。
NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS 拡張再試行が有効になっているときに HTTP 接続を再試行するまでの待機時間をミリ秒単位で設定します。 待機時間の既定値 (ミリ秒) は 1000 です。
NUGET_EXPERIMENTAL_U Standard Edition_NJ_FOR_FILE_PARSING 復元中にアセット ファイルの解析に Netwonsoft.Json を使用するかどうかを決定します。 指定できる値は true または false (既定値) です。