я видел различного рода проблем вокруг, но я борюсь с этим на целый день, поэтому, пожалуйста, дайте мне некоторую помощь :)System Variable путь отличается в командной строке
Короткий рассказ: У меня есть переменная PATH в панели Системные переменные и cmd. Не удается запустить exe-файлы?
Более длинный рассказ: Я пытаюсь установить Ruby. Пробовали с разными версиями, но проблема одна и та же: у меня есть мое значение PATH обновлено, Ruby есть. BUT при использовании его из cmd, рубин не распознается. echo %PATH%
дает другое значение от значения в панели переменных среды!
Первое крепление: Окружающая среда панель Переменная:
Значение для пользователя переменных: C:\Users\morifey\nvmw\nodejs\v0.10.36;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;"C:\Program Files\Intel\WiFi\bin\";"C:\Program Files\Common Files\Intel\WirelessCommon\";"C:\Program Files (x86)\Skype\Phone\";"C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86";"C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64";"C:\Program Files\nodejs\";C:\wamp\bin\php\php5.5.12;C:\ProgramData\ComposerSetup\bin;"C:\Program Files\TortoiseGit\bin";"C:\Program Files (x86)\Git\cmd";"C:\Program Files\Intel\WiFi\bin\";"C:\Program Files\Common Files\Intel\WirelessCommon\";C:\Users\morifey\AppData\Roaming\npm;C:\Ruby21\bin
Значение для Система переменных: C:\Ruby21\bin;C:\Users\morifey\nvmw\nodejs\v0.10.36;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;"C:\Program Files\Intel\WiFi\bin\";"C:\Program Files\Common Files\Intel\WirelessCommon\";"C:\Program Files (x86)\Skype\Phone\";"C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86";"C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64";"C:\Program Files\nodejs\";C:\wamp\bin\php\php5.5.12;C:\ProgramData\ComposerSetup\bin;"C:\Program Files\TortoiseGit\bin";"C:\Program Files (x86)\Git\cmd";"C:\Program Files\Intel\WiFi\bin\";"C:\Program Files\Common Files\Intel\WirelessCommon\";"C:\Users\morifey\AppData\Roaming\npm";%SystemRoot%\system32;%SystemRoot%
Я сравниваю их с HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment - это все тот же.
BUT Запуск cmd и использование echo %PATH%
. Результаты: C:\Users\morifey\nvmw\nodejs\v0.10.36;C:\ProgramData\Oracle\Java\javapath;C:\Win dows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPow erShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Int el\WirelessCommon\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\In tel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C :\Program Files\nodejs\;C:\wamp\bin\php\php5.5.12;C:\ProgramData\ComposerSetup\b in;C:\Program Files\TortoiseGit\bin;C:\Program Files (x86)\Git\cmd;C:\Program Fi les\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users \morifey\AppData\Roaming\npm
Рубин отсутствует! Это то же самое, что и для администратора, и для него нет (на самом деле у меня один пользователь-администратор).
Я попытался установить путь (через set или setx), изменив оба регистра и переменные среды - ничего не работает. Я попытался добавить котировки ("
) в пути, имеющие пробелы - без разницы.
За исключением, если я запустил cmd как администратор и использую setx PATH "%PATH%;C:\Ruby21\bin"
! Затем echo %PATH%
возвращает реальный (обновленный) путь, и я могу запустить ruby
ТОЛЬКО в этом cmd. Если я закрою его и снова открою его как admin, изменения будут потеряны.
Просьба сообщить мне, как с этим справиться? Мне просто нужно запустить Ruby :)
Windows 7 Ultimate, Service Pack 1, 64-bit; Скачан Ruby (от http://rubyinstaller.org/downloads/) - Ruby 2.2.2 (32 & 64 bit), Ruby 2.1.6 (32 & 64 bit) - все те же результаты.
Edit: После того, как несколько ребят сказал, что не нужно кавычки, я удалил их, и поставил именно @eryksun сказал.Это результат:
C:\Users\morifey>echo %PATH% C:\Users\morifey\nvmw\nodejs\v0.10.36;C:\ProgramData\Oracle\Java\javapath;C:\Win dows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPow erShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Int el\WirelessCommon\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files (x86)\In tel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;C :\Program Files\nodejs\;C:\wamp\bin\php\php5.5.12;C:\ProgramData\ComposerSetup\b in;C:\Program Files\TortoiseGit\bin;C:\Program Files (x86)\Git\cmd;C:\Program Fi les\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users \morifey\AppData\Roaming\npm
Это довольно странно, некоторые из входов повторяет: C:\Program Files\Intel\WiFi\bin\; C:\Program Files\Intel\WiFi\bin\; C:\Program Files\Common Files\Intel\WirelessCommon\; C:\Program Files\Common Files\Intel\WirelessCommon\; C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86; C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;
несмотря они не похожи, что в строках я вставленная в пути системных переменных!
Update - Я использовал PowerShell и this скрипт, чтобы проверить, есть ли повторение в системных переменных. Я загружаю изображение с результатом. Это довольно странно, что путь - это именно то, что должно быть, но, как вы можете видеть, в CMD я вижу другую вещь!
Update - Сегодня я попытался запустить рубин из PowerShell - все получилось. Так что кажется, что только CMD не знает, что происходит! И просто напомнить вам - перезагрузка не помогает! :)
Выйдите из системы (или перезапустите). – cremno
Перезапуск не помогает. Я попытался перезапустить каждый раз после удаления Ruby, после того как я установил новый, после того, как я изменил% PATH%. Каждый раз, когда результаты все одинаковы. –
Удалить все '' 'двойные кавычки из настроек переменной среды пользователя и системы' path' (с использованием GUI, ** no ** 'setx'). Те, кто считают их вредоносными. [Читать дальше] (http: // blogs. msdn.com/b/oldnewthing/archive/2006/09/29/776926.aspx). – JosefZ