NuGet CLI 環境變數

nuget.exe CLI 的行為可以透過數個環境變數來設定,這些環境變數會影響全計算機、使用者或進程層級上的nuget.exe。 環境變數一律會覆寫檔案中的任何 NuGet.Config 設定,讓組建伺服器在不修改任何檔案的情況下變更適當的設定。

一般而言,直接在命令行或 NuGet 組態檔中指定的選項具有優先順序,但有一些例外狀況,例如 FORCE_NUGET_EXE_INTERACTIVE。 如果您發現不同計算機之間nuget.exe行為不同,則環境變數可能是原因。 例如,Azure Web Apps Kudu(部署期間使用)已設定 NUGET_XMLDOC_MODE為略過加速套件還原效能並節省磁碟空間。

NuGet CLI 會使用 MSBuild 來讀取項目檔。 在 MSBuild 評估期間,所有環境變數都以屬性的形式提供。 NuGet 套件中 記載的屬性清單和還原為 MSBuild 目標 也可以設定為環境變數。

變數 描述 備註
http_proxy 用於 NuGet HTTP 作業的 Http Proxy。 這會指定為 http://<username>:<password>@proxy.com
no_proxy 設定網域以略過使用 Proxy。 指定為以逗號 (,)) 分隔的網域。
EnableNuGetPackageRestore 如果 NuGet 在還原時需要套件,則為旗標,以隱含方式授與同意。 指定的旗標會 被視為 true1,任何其他值視為未設定旗標。
NUGET_CLI_LANGUAGE 輸出語言nuget.exe變更 可在 6.5 和更新版本中使用。 支援的值為支援的 Visual Studio 語言地區設定名稱:zh-cn、、en-usfr-frja-jpit-itcs-czde-dezh-twes-espt-brko-krpl-plru-ru 和 。tr-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-cache 資料夾的路徑,如管理全域套件和快取資料夾中所述 指定為絕對路徑。
NUGET_OBSERVE_RETRY_AFTER 退出退出使用 HTTP 回應消息 Retry-After 延遲持續時間 在 NuGet 6.5 之前,NuGet 會使用相同的輪詢策略重試所有失敗的要求。 從 NuGet 6.5 開始,NuGet 預設會使用伺服器提供的 Retry-After 延遲期間。 將此環境變數設定為 , false 以忽略 Retry-After 回應標頭。 另請參閱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 記錄詳細資訊。 默認值為 無訊息 (“/v:q” )。 可能的值 q[uiet]m[inimal]n[ormal]d[etailed], and diag[nostic].
NUGET_SHOW_STACK 判斷是否應該向用戶顯示完整的例外狀況(包括堆疊追蹤)。 指定為 truefalse (預設值)。
NUGET_UPDATEFILETIME_MAXRETRIES 設定 NuGet 在擷取套件時嘗試設定檔案時間戳的次數。 在 Windows 防病毒軟體上,可能會暫時開啟檔案,防止 NuGet 變更時間戳。 NuGet 會使用指數輪詢,其中嘗試之間的等候持續時間為 Math.Pow(2, retryNumber)。 默認最大重試次數為9,表示失敗前的預設等候持續時間大約為一秒。
NUGET_XMLDOC_MODE 決定應該如何處理元件 XML 檔檔檔擷取。 支援的模式會 略過 (不要擷取 XML 檔案檔檔)、 壓縮 (將 XML 檔案檔案儲存為 zip 封存)或 (預設值,將 XML 檔案檔視為一般檔案)。
NUGET_CERT_REVOCATION_MODE 決定在安裝或還原已簽署套件時,如何執行用來簽署封裝的憑證撤銷狀態檢查。 未設定時,預設為 online 在線可能的值(預設值),離線。 與 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_USE_NJ_FOR_FILE_PARSING 判斷是否 Netwonsoft.Json 在還原期間用於剖析資產檔案 可能的值為 truefalse (預設值)。