Sé que esto es extraño y he pasado casi 3 días buscando la solución en línea sin obtener una útil. Entonces he decidido venir aquí.
Recientemente me actualicé a Windows 10 desde Windows 8.1.
Ahora quería establecer una variable de entorno para mi nueva instalación de Apache Maven.
Cada vez que creé la variable de usuario, las cosas están bien. Sin embargo, también necesito crear la variable del sistema donde tendré que agregar el directorio bin a la variable que ya creo en la variable de usuario para que sea "ruta".
Ahora, cada vez que hago esto, aparece un error que dice "Esta variable de entorno es demasiado grande. Como resultado de esto, no puedo crear la ruta.
He adjuntado la imagen de este error.
Apreciaré esto si alguien me puede ayudar a resolver este problema.
fuente
PATH
la variable de entorno. La solución adecuada existe desde hace casi 2 décadas . Pero lograr que los desarrolladores lo usen es como tirar de los dientes.Respuestas:
Cuando la variable PATH se sobrecarga con demasiados valores, alcanza un punto en el que ya no puede agregar valores. Intentar lo siguiente debería resolver su problema.
Solución 1:
Si esto todavía no funciona, intente copiar alguna parte de los valores ya existentes de la variable PATH a 'NEWPATH' y luego agregue 'NEWPATH'
Solución 2:
Verifique el valor de la variable PATH si puede agrupar y acortar las rutas. Por ejemplo,
C: \ Archivos de programa \ Microsoft SQL Server \ 102 \ Tools \ Binn \; C: \ Archivos de programa \ Microsoft SQL Server \ 102 \ DTS \ Bin \;
se puede combinar para
C: \ Archivos de programa \ Microsoft SQL Server;
De esta manera, puede construir más espacio en su variable PATH de longitud fija y finalmente ajustar la ubicación del directorio bin en PATH.
¡Espero que esto te ayude!
fuente
setx PATH
porque esto resolverá directamente%NEWPATH%
y la cadena resultante será una vez más demasiado larga ... Entonces, usando este enfoque, solo se debe utilizar el diálogo y no la línea de comandopdflatex
tiene que estar adentroPATH
, si pongo la ubicación depdflatex
adentroNEWPATH
,pdflatex
ya no se encuentra ("el comandopdflatex
no se reconoce" ...)Hay pocas formas de limpiar su variable de ruta. Lo más fácil es usar Rapid Environment Editor . Esta utilidad gratuita,
Realizo los pasos anteriores en orden y uso el tercer paso solo para las rutas más largas hasta que el tamaño variable de la ruta vuelva a estar bajo control.
Si desea avanzar más, aquí hay una pequeña herramienta de C # que puede modificar a cualquier otra lógica que desee implementar.
fuente
Otra solución o más una solución alternativa para omitir el límite de longitud variable de la RUTA del entorno es administrar su ruta (agregar, eliminar o actualizar) utilizando un
PowerShell
script;Capture la variable PATH actual haciendo clic en "Editar texto" (vea la captura de pantalla anterior) y cópiela en su portapapeles y guárdela también en un archivo de texto como copia de seguridad para evitar sorpresas. Esto no es obligatorio, pero le permitirá recuperarse si algo sale mal.
Ahora que está respaldado, agregue lo siguiente a un nuevo archivo de PowerShell (.ps1) (modificando la primera línea a continuación con las rutas de carpeta que desea agregar (la parte después del signo +):
$ newPath = $ env: Ruta + '; C: \ Users .... \ FirstFolderToAddToPath; C: \ Users .... \ SecondFolderToAddToPath; '
[Medio ambiente] :: SetEnvironmentVariable ("Ruta", $ newPath, "Máquina")
$ env: Path = $ newPath
Así es como logré recuperar mi variable (larga) PATH después de jugar con la interfaz de usuario de Windows 10, quedando atrapado por la limitación de longitud y perdiendo la mayor parte de mi camino. Espero que ayude.
fuente
setx /m
trunca a 1048 caracteres :(. También puede editar la ruta en el editor de texto y simplemente hacer[Environment]::SetEnvironmentVariable("Path", '\my\new;path1', "Machine")
. Necesitará shell de administrador.Además de la respuesta de Swapnil, tenga en cuenta que puede modificar la longitud máxima de la variable Ruta, que de otro modo está limitada a 2048 caracteres (mientras que una ruta tiene un límite histórico de 206 caracteres). En Windows 10, puede lograr esto estableciendo la
LongPathsEnabled
clave de registro en 1, que se puede encontrar aquí:Para acceder al editor del registro:
Windows Key+R
escribaRegedit
.Fuente: https://superuser.com/a/1119980
También eche un vistazo a esta respuesta de Superusuario: https://superuser.com/a/1119980/327009
Abordando el comentario a continuación: el error "La variable de entorno es demasiado grande" está relacionado con la variable completa, no con la ruta única que se agrega actualmente.
fuente
Respuesta tardía pero estaba buscando algo similar y terminé aquí. Cambié todas las rutas a variables para archivos de programa y datos de programa (este se guarda como 1 carácter, aunque no es tan importante).
Para algo como nodejs, cambié la ruta normal de
C: \ Archivos de programa \ nodejs \
a
% ProgramFiles% \ nodejs \
Esto se puede hacer con "C: \ Archivos de programa (x86) \" también usando "% ProgramFiles (x86)% \"
Me salvó algunos personajes pero lo suficiente como para dejar de quejarme.
fuente
Descubrí que puedes hacerlo a través de PowerShell.
Así que tomé la RUTA del sistema existente, la pegué en el bloc de notas, agregué mi nuevo elemento y luego la pegué en el bit "C: \ Archivos de programa" de lo anterior. Ruta actualizada. Hecho.
fuente
Intente modificar por
regedit
, en mi caso funciona cuando la longitud es superior a 3000.Presione
Win + R
e ingreseregedit
para abrir regedit. Vaya aComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
y modifique el valor dePath
su ruta. Y reinicie la computadora, debería funcionar.fuente
Solución alterna:
Por favor reinicie el sistema. Después de reiniciar el sistema, PATH ya no está vacío, pero puede truncarse a 2047 (4095) caracteres. Si el reinicio del sistema no ayuda, por favor:
Inicie c: \ windows \ system32 \ regedit.exe Vaya a la sección del registro "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" Limpie los directorios innecesarios de la tecla "Ruta" Reinicie el sistema
Nota: En algunos casos excepcionales, si el sistema no puede iniciarse, por favor:
Inicie sesión en modo seguro Abra el shell del símbolo del sistema y escriba: reg agregue "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v Ruta / t REG_EXPAND_SZ / d ^% SystemRoot ^% \ system32; ^% SystemRoot ^% /F
Para más detalles: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable
fuente
4095
?Además de otros métodos (por ejemplo, Powershell), encontré una buena GUI, "Rapid Environment Editor" que puede manejar valores de texto más grandes.
https://www.rapidee.com/en/download
fuente
Aparentemente, Rapid Environment Editor lo hará por usted (de @shatil_shah answer), pero también puede acortar los caminos a su versión "8dot3". Obtendrá mucho kilometraje con solo estos dos reemplazos:
Si copia su ruta actual en el Bloc de notas, primero busque y reemplace
C:\Program Files (x86)
y luegoC:\Progam Files
.fuente
Workarround. Use Editar texto y edite su RUTA en un Editor de texto
fuente
Edit Text
, en lugar de abrir algún archivo.