Я знаю, что это странно, и я потратил почти 3 дня на поиски решения в Интернете, не получив полезного. Поэтому я решил приехать сюда.
Я недавно обновился до Windows 10 с Windows 8.1.
Теперь я хотел установить переменную Environment для моей новой установки Apache Maven.
Каждый раз, когда я создавал пользовательскую переменную, все в порядке. Однако мне также необходимо создать системную переменную, в которой мне нужно будет добавить каталог bin в переменную, которую я, возможно, создаю в пользовательской переменной как «путь».
Теперь, каждый раз, когда я делаю это, я получаю ошибку, которая говорит: «Эта переменная среды слишком велика. В результате я не могу создать путь.
Я приложил изображение этой ошибки.
Я буду признателен, если кто-нибудь может помочь мне решить эту проблему.
источник
PATH
переменной среды. Правильное решение существует уже почти 2 десятилетия . Но заставить разработчиков использовать его - все равно что вырывать зубы.Ответы:
Когда переменная PATH перегружена слишком многими значениями, она достигает точки, в которой вы больше не можете добавлять значения. Попробуйте следующее, чтобы решить вашу проблему.
Решение 1:
Если это по-прежнему не работает, попробуйте скопировать некоторую часть уже существующих значений переменной PATH в «NEWPATH», а затем добавить «NEWPATH».
Решение 2:
Проверьте значение переменной PATH, если вы можете группировать и сокращать пути. Например,
C: \ Program Files \ Microsoft SQL Server \ 102 \ Tools \ Binn \; C: \ Program Files \ Microsoft SQL Server \ 102 \ DTS \ Bin \;
может быть объединен с
C: \ Program Files \ Microsoft SQL Server;
Таким образом, вы можете создать больше места в переменной PATH фиксированной длины и, наконец, настроить местоположение каталога bin в PATH.
Надеюсь, это поможет вам!
источник
setx PATH
так как это непосредственно разрешит,%NEWPATH%
а результирующая строка снова будет слишком длинной ... Таким образом, при таком подходе должен использоваться только диалог, а не командная строкаpdflatex
он должен быть вPATH
, если я помещаю местоположениеpdflatex
вNEWPATH
,pdflatex
он больше не найден («командаpdflatex
не распознана» ...)Есть несколько способов очистить переменную пути. Самый простой - использовать Rapid Environment Editor . Эта бесплатная утилита будет,
Я делаю вышеуказанные шаги по порядку и использую 3-й шаг только для самых длинных путей, пока размер переменной пути снова не будет под контролем.
Если вы хотите продвинуться дальше, вот небольшой инструмент C #, который вы можете изменить в соответствии с любой другой логикой, которую вы хотите реализовать.
источник
Другое решение или обходной путь для обхода ограничения переменной длины PATH для среды - это управление вашим путем (добавление, удаление или обновление) с помощью
PowerShell
сценария;Захватите текущую переменную PATH, нажав «Редактировать текст» (см. Скриншот выше), скопируйте ее в буфер обмена и сохраните в текстовом файле как резервную копию, чтобы избежать неприятных сюрпризов. Это не обязательно, но позволит вам восстановиться, если что-то пойдет не так.
Теперь, когда для него выполнено резервное копирование, добавьте следующее в новый файл PowerShell (.ps1) (исправив в первой строке ниже пути к папкам, которые вы хотите добавить (часть после знака +):
$ newPath = $ env: Path + '; C: \ Users .... \ FirstFolderToAddToPath; C: \ Users .... \ SecondFolderToAddToPath;»
[Environment] :: SetEnvironmentVariable ("Путь", $ newPath, "Машина")
$ env: Path = $ newPath
Вот так мне удалось вернуть свою (длинную) переменную PATH после игры с интерфейсом Windows 10, будучи пойманным из-за ограничения длины и потеряв большую часть моего пути. Я надеюсь, что это помогает.
источник
setx /m
Усекает 1048 символов :( Вы можете также редактировать путь в текстовом редакторе и просто сделать.[Environment]::SetEnvironmentVariable("Path", '\my\new;path1', "Machine")
Вам нужно администратора оболочки..В дополнение к ответу Swapnil, обратите внимание, что вы можете изменить максимальную длину переменной Path, которая в противном случае ограничена 2048 символами (в то время как один путь имеет исторический предел в 206 символов). В Windows 10 этого можно добиться, установив для параметра
LongPathsEnabled
реестра значение 1, которое можно найти здесь:Чтобы получить доступ к редактору реестра:,
Windows Key+R
введитеRegedit
.Источник: https://superuser.com/a/1119980
Также взгляните на этот ответ SuperUser: https://superuser.com/a/1119980/327009
Обращаясь к комментарию ниже: ошибка «Переменная среды слишком велика» относится ко всей переменной, а не к одному добавляемому в данный момент пути.
источник
Поздний ответ, но я искал что-то подобное и оказался здесь. Я изменил все пути к переменным для программных файлов и программных данных (этот сохраняет как 1 символ, хотя и не так важно).
Для чего-то вроде nodejs я изменил нормальный путь
C: \ Program Files \ nodejs \
в
% ProgramFiles% \ nodejs \
Это можно сделать с помощью «C: \ Program Files (x86) \», а также с помощью «% ProgramFiles (x86)% \»
Это спасло мне несколько персонажей, но достаточно, чтобы перестать жаловаться, я чувствую.
источник
Я нашел, что вы можете сделать через PowerShell.
Итак, я взял существующую системную переменную PATH, вставил ее в блокнот, добавил новую вещь и вставил в бит C: \ Program Files, описанный выше. Путь обновлен. Готово.
источник
Попробуйте изменить
regedit
, в моем случае это работает, когда длина более 3000.Нажмите
Win + R
и введите,regedit
чтобы открыть regedit. ПерейтиComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
и изменить значениеPath
вашего пути. И перезагрузите компьютер, он должен работать.источник
Временное решение:
Пожалуйста, перезагрузите систему. После перезапуска системы PATH больше не пуст, но может урезаться до 2047 (4095) символов. Если перезапуск системы не помогает, пожалуйста:
Запустите c: \ windows \ system32 \ regedit.exe. Перейдите в куст реестра "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment". Очистите ненужные каталоги от ключа «Путь». Перезагрузите систему.
Примечание: в некоторых исключительных случаях, если система не может запуститься, пожалуйста:
Войдите в безопасный режим. Откройте командную строку и введите: reg add "HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v Путь / t REG_EXPAND_SZ / d ^% SystemRoot ^% \ system32; ^% SystemRoot ^% / е
Для получения более подробной информации: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable
источник
4095
?В дополнение к другим методам (например, Powershell), я нашел приятный графический интерфейс «Rapid Environment Editor», который может обрабатывать большие текстовые значения.
https://www.rapidee.com/en/download
источник
Очевидно, Rapid Environment Editor сделает это за вас (из ответа @shatil_shah), но вы также можете сократить пути до их версии "8dot3". Вы получите большой пробег только с этими двумя заменами:
Если вы скопировали свой текущий путь в Блокнот, сначала выполните поиск и замену,
C:\Program Files (x86)
а затемC:\Progam Files
.источник
Workarround. Используйте Edit Text и редактируйте ваш PATH в текстовом редакторе
источник
Edit Text
вместо открытия какого-либо файла.