Variables de entorno de la CLI de NuGet
El comportamiento de la CLI de nuget.exe se puede configurar a través de una serie de variables de entorno, que afectan a nuget.exe en los niveles de proceso, usuario o equipo. Las variables de entorno siempre invalidan cualquier configuración en archivos NuGet.Config
, lo que permite a los servidores de compilación cambiar la configuración adecuada sin modificar ningún archivo.
En general, las opciones especificadas directamente en la línea de comandos o en los archivos de configuración de NuGet prevalecen, pero hay algunas excepciones, como FORCE_NUGET_EXE_INTERACTIVE. Si encuentras que nuget.exe se comporta de forma diferente en equipos diferentes, una variable de entorno podría ser la causa. Por ejemplo, Azure Web Apps Kudu (se usa durante la implementación) tiene establecido NUGET_XMLDOC_MODE como skip para acelerar el rendimiento de la restauración de paquetes y ahorrar espacio en disco.
La CLI de NuGet usa MSBuild para leer los archivos del proyecto. Todas las variables de entorno están disponibles como propiedades durante la evaluación de MSBuild. La lista de propiedades documentadas en el paquete nuGet y la restauración como destinos de MSBuild también se pueden establecer como variables de entorno.
Variable | Descripción | Comentarios |
---|---|---|
http_proxy | Proxy HTTP usado para las operaciones HTTP de NuGet. | Se especificaría como http://<username>:<password>@proxy.com . |
no_proxy | Configura los dominios para omitir el uso del proxy. | Se especifica como dominios separados por coma (,). |
EnableNuGetPackageRestore | Marca si NuGet debe conceder implícitamente consentimiento si lo requiere el paquete en la restauración. | La marca especificada se trata como true o 1, cualquier otro valor se trata como marca no establecida. |
NUGET_CLI_LANGUAGE | Cambia el lenguaje de salida de nuget.exe | Disponible en la versión 6.5 y versiones posteriores. Los valores admitidos son nombres de configuración regional de lenguajes de Visual Studio admitidos: zh-cn , zh-tw , cs-cz , en-us , es-es , fr-fr , de-de , it-it , ja-jp , ko-kr , pl-pl , pt-br , ru-ru y tr-tr . |
NUGET_EXE_NO_PROMPT | Impide que el exe solicite credenciales. | Cualquier valor excepto null o una cadena vacía se tratará como si esta marca tuviera el valor de true. |
NUGET_MAX_RETRY_AFTER_DELAY_SECONDS | Duración máxima entre reintentos cuando la respuesta HTTP contiene el encabezado Retry-After | Cuando NUGET_OBSERVE_RETRY_AFTER está habilitado (como está de manera predeterminada) y una respuesta HTTP contiene un encabezado Retry-After, esta variable de entorno establece la duración máxima que se esperará. Ten en cuenta que Retry-After puede proporcionar una duración (delta) o una marca de tiempo (fecha). Si el servidor devuelve una marca de tiempo y el reloj de la máquina está sin sincronizar con el servidor, la duración calculada puede ser muy larga (o negativa). |
FORCE_NUGET_EXE_INTERACTIVE | Variable de entorno global para forzar el modo interactivo. | Cualquier valor excepto null o una cadena vacía se tratará como si esta marca tuviera el valor de true. |
NUGET_PACKAGES | Ruta de acceso que se va a usar para la carpeta global-packages, tal y como se describe en Administración de las carpetas de caché y global-packages. | Especificado como ruta de acceso absoluta. |
NUGET_FALLBACK_PACKAGES | Carpetas de paquetes de reserva globales. | Rutas de acceso de carpeta absolutas separadas por punto y coma (;). |
NUGET_HTTP_CACHE_PATH | Ruta de acceso que se va a usar para la carpeta http-cache, tal y como se describe en Administración de las carpetas de caché y global-packages. | Especificado como ruta de acceso absoluta. |
NUGET_OBSERVE_RETRY_AFTER | Si se opta por no participar en el uso del mensaje de respuesta HTTP Retry-After, las duraciones se retrasarán | Antes de NuGet 6.5, NuGet reintentaría todas las solicitudes erróneas con la misma estrategia de interrupción. A partir de NuGet 6.5, NuGet usará de manera predeterminada el período de retraso Retry-After proporcionado por el servidor. Establece esta variable de entorno en false para ignorar el encabezado de respuesta Retry-After. Consulta también NUGET_MAX_RETRY_AFTER_DELAY_SECONDS |
NUGET_RESTORE_MSBUILD_ARGS | Establece argumentos adicionales de MSBuild. | Pasa argumentos idénticos a como los pasaría a msbuild.exe. Un ejemplo de cómo establecer una propiedad de proyecto Foo desde la línea de comandos en la barra de valores sería /p:Foo=Bar |
NUGET_RETRY_HTTP_429 | Cambio del comportamiento de reintento en respuestas HTTP 429 | Antes de NuGet 6.5, NuGet no reintentaría las solicitudes que dan lugar a HTTP 429 en 408. El valor predeterminado es true y esta variable de entorno se puede establecer en false para participar en el comportamiento anterior de NuGet (no reintentar la solicitud) |
NUGET_RESTORE_MSBUILD_VERBOSITY | Establece el nivel de detalle de registro de MSBuild. | El valor predeterminado es quiet ("/v:q"). Los niveles permitidos son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic]. |
NUGET_SHOW_STACK | Determina si se debe mostrar la excepción completa (incluido el seguimiento de la pila) al usuario. | Especificado como true o false (valor predeterminado). |
NUGET_UPDATEFILETIME_MAXRETRIES | Establece el número de veces que NuGet intentará establecer la marca de tiempo del archivo al extraer paquetes. | En el software antivirus de Windows puede abrir temporalmente archivos, lo que impide que NuGet cambie la marca de tiempo. NuGet usa una interrupción exponencial en la que la duración de espera entre los intentos es de Math.Pow(2, retryNumber) . Los reintentos máximos predeterminados son 9, lo que significa que la duración total de espera predeterminada antes del error será de aproximadamente un segundo. |
NUGET_XMLDOC_MODE | Determina cómo se debe controlar la extracción de archivos de documentación XML de los ensamblados. | Los modos admitidos son skip (no extraer archivos de documentación XML), compress (almacenar archivos de documentos XML como un archivo ZIP) o none (valor predeterminado, tratar los archivos de documentos XML como archivos normales). |
NUGET_CERT_REVOCATION_MODE | Determina cómo se realiza la comprobación de estado de revocación del certificado usado para firmar un paquete cuando se instala o restaura un paquete firmado. Si no se establece, el valor predeterminado es online . |
Valores posibles: online (predeterminado), offline. Relacionado con NU3028 |
NUGET_ENABLE_ENHANCED_HTTP_RETRY | Habilita o deshabilita el reintento de HTTP mejorado en NuGet. | Los valores posibles son true (valor predeterminado) o false . |
NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT | Permite configurar el número máximo de veces que se debe reintentar una conexión HTTP cuando se habilitan reintentos mejorados. | Número que representa la cantidad de reintentos que se van a realizar; el valor predeterminado es 6 . |
NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS | Permite configurar la cantidad de tiempo de espera en milisegundos antes de reintentar una conexión HTTP cuando se habilitan reintentos mejorados. | El número predeterminado de segundos que se debe esperar es 1000 . |
NUGET_EXPERIMENTAL_USE_NJ_FOR_FILE_PARSING | Determina si se usa o no Netwonsoft.Json para analizar el archivo de recursos durante la restauración. |
Los valores posibles son true o false (valor predeterminado). |