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 目標 也可以設定為環境變數。
| Variable | Description | 備註 |
|---|---|---|
| http_proxy | 用於 NuGet HTTP 作業的 Http Proxy。 | 這會指定為 http://<username>:<password>@proxy.com。 |
| no_proxy | 設定要略過使用 Proxy 的網域。 | 指定為以逗號 (,) 分隔的網域。 |
| EnableNuGetPackageRestore | 旗標 NuGet 是否應該隱含授與同意,前提是還原時套件需要同意。 | 指定的旗標會被視為 true 或 1,任何其他值都會被視為未設定旗標。 |
| NUGET_CLI_LANGUAGE | 輸出語言 nuget.exe 變更 | 提供 6.5 及更高版本。 支援的值是支援的 Visual Studio 語言地區設定名稱:zh-cn、zh-tw、en-uspl-plko-krpt-brru-rucs-czfr-frtr-tres-esde-deit-itja-jp和。 |
| NUGET_EXE_NO_PROMPT | 防止 exe 提示輸入認證。 | 除了 null 或空字串之外的任何值都會被視為此旗標 set/true。 |
| NUGET_MAX_RETRY_AFTER_DELAY_SECONDS | 當 HTTP 回應包含標頭時,重試之間的持續時間上限 Retry-After | 當啟用NUGET_OBSERVE_RETRY_AFTER (預設情況下) 且 HTTP 回應包含 Retry-After 標頭時,此環境變數會設定將等待的持續時間上限。 請注意,Retry-After 可以提供持續時間 (差異) 或時間戳記 (日期)。 如果伺服器傳回時間戳記,且機器的時鐘與伺服器不同步,則計算的持續時間可能非常長 (或負數)。 |
| FORCE_NUGET_EXE_INTERACTIVE | 全域環境變數來強制互動模式。 | 除了 null 或空字串之外的任何值都會被視為此旗標 set/true。 |
| NUGET_PACKAGES | 用於 global-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 記錄詳細程度。 | 預設 值為 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,這表示失敗前的預設總等待持續時間約為一秒。 |
| NUGET_XMLDOC_MODE | 決定應該如何處理元件 XML 文件檔案擷取。 | 支援的模式包括 略過 (不擷取 XML 文件檔案)、 壓縮 (將 XML 文件檔案儲存為 zip 封存) 或 無 (預設,將 XML 文件檔案視為一般檔案)。 |
| NUGET_CERT_REVOCATION_MODE | 決定在安裝或還原已簽署套件時,如何執行用來簽署套件之憑證的撤銷狀態檢查。 未設定時,預設為 online。 |
線上 (預設 )、 離線的可能值。 與 NU3028 相關 |
| NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT | 設定啟用增強型重試時應重試 HTTP 連線的次數上限。 | 代表要執行的重試次數的數字,預設值為 6。 |
| NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS | 設定在啟用增強型重試時,在重試 HTTP 連線之前等待的時間量 (以毫秒為單位)。 | 等待的米秒數,預設值為 1000。 |