Когда я использую Git Bash (в Windows), я не могу запустить исполняемый файл без указания его полного пути, хотя он находится в папке, которая находится в моей переменной PATH. Похож, что Bash не распознает его. Зачем? Могу ли я это исправить?
Git Bash не видит мой PATH
Ответ 1
Получил это. Как пользователь Windows, я использую для ввода исполняемых имен без расширений. В моем случае я хотел выполнить файл с именем cup.bat
. В оболочке Windows достаточно ввести cup
. Bash не работает таким образом, он хочет получить полное имя. Ввод cup.bat
решил проблему. (Я не смог запустить файл, хотя, по-видимому, Bash не мог понять его содержимое)
Еще одна причина переключиться на posh git..
Спасибо @Tom за то, что указали меня в правильном направлении.
Ответ 2
Возможно, bash не видит ваш путь к Windows. Введите env|grep PATH
в bash, чтобы подтвердить, что видит путь .
Ответ 3
После комментария @Daniel и благодарности @Tom, я узнал, что Git bash действительно использует PATH, но не последние пути, которые я недавно установил. Чтобы обойти эту проблему, я добавил файл в мой домашний каталог (windows) с именем:
.bashrc
и содержимое, как указано ниже:
PATH=$PATH:/c/Go/bin
потому что я устанавливал Go, и этот путь содержал исполняемый файл go.exe
Теперь Git bash смог распознать команду:
go
Возможно, в моем случае было бы достаточно перезагрузки системы, но я рад, что это решение работает в любом случае.
Ответ 4
Пока вы устанавливаете Git, вы можете выбрать параметр, показанный ниже, это поможет вам автоматически установить путь.
Его разработали для меня:)
Ответ 5
Создайте файл в C:\Users\USERNAME, который называется config.bashrc, содержащий:
PATH=$PATH:/c/Program\ Files\ \(x86\)/Application\ with\ space
Теперь переместите файл в командной строке в нужное место:
mv config.bashrc .bashrc
Ответ 6
Перезагрузите компьютер после добавления нового значения в PATH.
Ответ 7
Старый вопрос, но это может помочь кому-то еще.
Я изменил свой пользовательский PATH, после чего я просто вышел из системы и снова вошел в систему.
Вот и все! git bash
правильно загрузил новое значение PATH.
Ответ 8
Похоже, что основной причиной здесь является Git Bash, который не может правильно проанализировать переменную% USERPROFILE%. Вместо того, чтобы сделать его относительно C:\Users \\, он получает значение C:\Windows\System 32\systemprofile \ После того, как вы изменили это на полностью квалифицированный адрес, он работает, и даже если я его снова верну, Git Bash по какой-то причине по-прежнему имеет правильный PATH.
Ответ 9
Я могу подтвердить, что перезагрузка системы будет гарантировать, что PATH, установленный в переменной окружения в окнах, будет поднят на git, и нет другого автоматического способа.
Ответ 10
В Windows 10 просто удалите git и установите его снова. Он автоматически установит переменную окружения. Я удалил переменную окружения по ошибке и не смог использовать git внутри своей IDE. Переустановка git устранила эту проблему.
Ответ 11
Для меня наиболее удобным было: 1) Создать каталог "bin" в корне диска C: 2) Добавить "C:/bin;" к PATH в "Мой компьютер" → "Свойства" → "Окружающие переменные"
Ответ 12
Я сталкиваюсь с этой проблемой, когда пытаюсь использовать mingw для компиляции lib xgboost в Win10. Наконец я нашел решение.
Создайте файл с именем .bashrc в вашем домашнем каталоге (обычно это C:\Users\username). Затем добавьте путь к нему. Не забудьте использовать кавычки, если ваш путь содержит пробел, и не забудьте использовать/c/вместо C:/
Например:
PATH = $ PATH: "/c/Program Files/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin"
Ответ 13
Я столкнулся с глупой ошибкой с моей стороны. У меня была широкая система и задан путь переменной пользователя для моей рабочей области golang на моем компьютере с Windows 10. Когда я удалил избыточный путь к системной переменной и вышел из системы и снова включился, я смог вызвать .exe файлы в bash и успешно запустить go env.
Хотя на OP был дан ответ, это еще одна проблема, которая может помешать bash увидеть ваши пути. Я только что снова протестировал bash с этой проблемой, и она, кажется, дает какой-то конфликт, который блокирует bash следовать по любому из путей.
Ответ 14
Я знаю, что это старый вопрос, но есть два типа переменных среды. Один принадлежит пользователю, а другой - общесистемный. В зависимости от того, как вы открываете git bash (с правами пользователя или с правами администратора), используемая переменная окружения PATH может быть из ваших пользовательских переменных или из системных переменных. Смотри ниже:
как говорилось в предыдущем ответе, проверьте с помощью команды env|grep PATH
, какой из них вы используете, и соответственно обновите переменную.
Ответ 15
Не удаляйте (\) специальные символы при редактировании/добавлении к переменной $PATH.
Например, каталог приложения в файлах программ будет выглядеть так:
PATH=$PATH:/c/Program Files (x86)/random/application
Не делайте этого: PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/
Надеюсь, что это поможет.
Ответ 16
Для тех из вас, кто перепробовал все вышеперечисленные методы, включая Windows env. переменные,.bashrc,.bashprofile и т.д. И они могут видеть правильный путь в 'echo $ PATH'... У меня может быть решение для вас.
подавить ошибки, используя exec 2>/dev/null
Мой скрипт работает нормально, но выдает ошибки "команда не найдена" или "Каталог не найден", хотя, насколько я могу судить, пути были пустыми. Итак, если вы подавляете эти ошибки (возможно, придется добавить 'set +e'), то это работает правильно.
Ответ 17
Создайте переменную пользователя с именем Path и добавьте как значение% Path%, из того, что я заметил, Git Bash видит только пользовательские переменные, а не системные переменные. Выполняя указанную процедуру, вы подвержете свою Системную переменную в пользовательских переменных.
Ответ 18
В переменных среды траектории Windows 7 Я просто добавляю в конец пути System Variable
\; C:\Program Files\ Git\bin
и теперь он работает!