Sei que isso é estranho e passei quase três dias pesquisando a solução on-line sem obter uma solução útil. Então eu decidi vir aqui.
Atualizei recentemente para o Windows 10 a partir do Windows 8.1.
Agora eu queria definir uma variável de ambiente para minha nova instalação do Apache Maven.
Cada vez que criei a variável de usuário, tudo está bem. No entanto, também preciso criar a variável do sistema em que precisarei anexar o diretório bin à variável que já crio na variável do usuário como "caminho".
Agora, cada vez que faço isso, recebo um erro que diz "Essa variável de ambiente é muito grande. Como resultado disso, não consigo criar o caminho.
Anexei a imagem deste erro.
Eu aprecio isso se alguém puder me ajudar a resolver esse problema.
windows
path
environment-variables
olammy
fonte
fonte
PATH
a variável de ambiente. A solução adequada já existe há quase duas décadas . Mas conseguir que os desenvolvedores o usem é como arrancar dentes.Respostas:
Quando a variável PATH é sobrecarregada com muitos valores, ela atinge um ponto em que você não pode mais adicionar valores. Tentar o seguinte deve resolver seu problema.
Solução 1:
Se isso ainda não funcionar, tente copiar parte dos valores já existentes da variável PATH para o 'NEWPATH' e, em seguida, acrescente o 'NEWPATH'
Solução 2:
Verifique o valor da variável PATH se puder agrupar e encurtar os caminhos. Por exemplo,
C: \ Arquivos de programas \ Microsoft SQL Server \ 102 \ Tools \ Binn \; C: \ Arquivos de programas \ Microsoft SQL Server \ 102 \ DTS \ Bin \;
pode ser combinado para
C: \ Arquivos de Programas \ Microsoft SQL Server;
Dessa forma, você pode criar mais espaço em sua variável PATH de comprimento fixo e, finalmente, ajustar o local do diretório bin em PATH.
Espero que isso ajude você!
fonte
setx PATH
porque isso resolverá diretamente a%NEWPATH%
string resultante e será mais uma vez muito longa ... Portanto, usando essa abordagem, somente a caixa de diálogo e não a linha de comando devem ser utilizadaspdflatex
ele deve estar dentroPATH
, se eu colocar o localpdflatex
emNEWPATH
,pdflatex
ele não será mais encontrado ("o comandopdflatex
não é reconhecido" ...)Existem algumas maneiras de limpar sua variável de caminho. O mais fácil é usar o Rapid Environment Editor . Este utilitário gratuito irá,
Eu faço as etapas acima em ordem e uso a 3ª etapa apenas para os caminhos mais longos até que o tamanho da variável Path esteja no controle novamente.
Se você quiser avançar mais, aqui está uma pequena ferramenta C # que você pode modificar para qualquer outra lógica que você queira implementar.
fonte
Outra solução ou mais uma solução alternativa para ignorar o limite de tamanho da variável PATH do ambiente é gerenciar seu caminho (adicionar, remover ou atualizar) usando um
PowerShell
script;Capture a variável PATH atual clicando em "Editar texto" (veja a captura de tela acima) e copie-a para a área de transferência e salve-a em um arquivo de texto como backup também para evitar surpresas ruins. Isso não é obrigatório, mas permitirá que você se recupere se algo der errado.
Agora que foi feito o backup, adicione o seguinte a um novo arquivo do PowerShell (.ps1) (alterando a primeira linha abaixo com o (s) caminho (s) da pasta que você deseja adicionar (a parte após o sinal +):
$ newPath = $ env: Caminho + '; C: \ Usuários .... \ FirstFolderToAddToPath; C: \ Usuários .... \ SecondFolderToAddToPath; '
[Environment] :: SetEnvironmentVariable ("Caminho", $ newPath, "Máquina")
$ env: Caminho = $ newPath
Foi assim que consegui recuperar minha variável PATH (longa) depois de jogar com a interface do Windows 10, sendo pego pela limitação de comprimento e perdendo a maior parte do meu caminho. Espero que ajude.
fonte
setx /m
trunca a 1048 caracteres :( Você também pode editar caminho no editor de texto e apenas fazer.[Environment]::SetEnvironmentVariable("Path", '\my\new;path1', "Machine")
Você vai precisar de shell de administração..Além da resposta de Swapnil, observe que você pode modificar o comprimento máximo da variável Path - que é limitada a 2048 caracteres (enquanto um único caminho tem um limite histórico de 206 caracteres). No Windows 10, você consegue isso definindo a
LongPathsEnabled
chave do registro como 1, que pode ser encontrada aqui:Para acessar o editor de registro:,
Windows Key+R
digiteRegedit
.Fonte: https://superuser.com/a/1119980
Também dê uma olhada nesta resposta do Superusuário: https://superuser.com/a/1119980/327009
Abordando o comentário abaixo: o erro "A variável de ambiente é muito grande" está relacionado à variável inteira, não ao caminho único que está sendo adicionado no momento.
fonte
Resposta tardia, mas eu estava procurando por algo semelhante e acabei aqui. Alterei todos os caminhos para variáveis de arquivos de programa e dados de programa (este salva como 1 caractere, embora não seja tão importante).
Para algo como nodejs, mudei o caminho normal de
C: \ Arquivos de programas \ nodejs \
para
% ProgramFiles% \ nodejs \
Isso pode ser feito com "C: \ Arquivos de Programas (x86) \" e usando "% ProgramFiles (x86)% \"
Isso me salvou alguns personagens, mas o suficiente para que eu parasse de reclamar.
fonte
Eu descobri que você pode fazer via PowerShell.
Então peguei o PATH do sistema existente, colei no bloco de notas, adicionei o meu novo e colei no bit "C: \ Arquivos de Programas" acima. Caminho atualizado. Feito.
fonte
Tente modificar por
regedit
, no meu caso, funciona quando o comprimento é superior a 3000.Pressione
Win + R
e digiteregedit
para abrir o regedit. Vá paraComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
e modifique o valor doPath
seu caminho. E reinicie o computador, ele deve funcionar.fonte
Gambiarra:
Por favor, reinicie o sistema. Após reiniciar o sistema, PATH não está mais vazio, mas pode ser truncado para 2047 (4095) caracteres. Se a reinicialização do sistema não ajudar, por favor:
Inicie c: \ windows \ system32 \ regedit.exe Vá para a seção do registro "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" Limpe diretórios desnecessários da tecla "Caminho" Reinicie o sistema
Nota: Em alguns casos excepcionais, se o sistema não puder iniciar, por favor:
Efetue login no modo de segurança Abra o shell do prompt de comando e digite: reg add "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v Caminho / t REG_EXPAND_SZ / d ^% SystemRoot ^% \ system32; ^% SystemRoot ^% / f
Para obter mais detalhes: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable
fonte
4095
?Além de outros métodos (por exemplo, Powershell), encontrei uma boa interface gráfica, "Rapid Environment Editor", que pode lidar com valores de texto maiores.
https://www.rapidee.com/en/download
fonte
Aparentemente, o Rapid Environment Editor fará isso por você (da resposta @shatil_shah), mas você também pode encurtar os caminhos para a versão "8dot3". Você terá muita quilometragem com apenas essas duas substituições:
Se você copiar seu caminho atual no Bloco de Notas, primeiro pesquise e substitua
C:\Program Files (x86)
e depoisC:\Progam Files
.fonte
Solução alternativa. Use Editar texto e edite seu PATH em um editor de texto
fonte
Edit Text
, em vez de abrir algum arquivo.