Git Bash не видит моего пути

когда я использую Git Bash (в Windows), я не могу запустить исполняемый файл без указания его полного пути, хотя он находится в папке, которая находится в моей переменной пути. Похоже, Баш его не узнает. Почему? Я могу это исправить?

16 ответов


получил его. Как пользователь Windows, я привык вводить исполняемые имена без расширений. В моем случае, я хотел выполнить файл с именем cup.bat. В оболочке Windows введите cup будет достаточно. Баш так не работает, ему нужно полное имя. Набрав cup.bat решена проблема. (Я не смог запустить файл, хотя, поскольку, по-видимому, Баш не мог понять его содержимое)

еще одна причина переключиться на posh-git..

спасибо @Tom за то, что указал мне вправо направление.


возможно, bash не видит ваш путь к Windows. Тип env|grep PATH в bash, чтобы подтвердить, что путь это видит.


после комментария @ Daniel и благодаря ответу @Tom я узнал, что Git bash действительно использовал путь, но не последние пути, которые я недавно установил. Чтобы обойти эту проблему, я добавил файл в моем домашнем каталоге (windows) с именем:

.bashrc

и содержание следующим образом:

PATH=$PATH:/c/Go/bin

потому что я устанавливал Go, и этот путь содержал исполняемый файл go.exe Теперь Git bash смог распознать команда:

go

возможно, просто перезагрузка системы было бы достаточно в моем случае, но я рад, что это решение работает в любом случае.


пока вы устанавливаете Git, вы можете выбрать опцию, показанную ниже, это поможет вам установить путь автоматически.

Git installation wizard

Это сработало для меня:)


создать файл в C:\Users\USERNAME который называется config.bashrc следующее, содержащих:

PATH=$PATH:/c/Program\ Files\ \(x86\)/Application\ with\ space

теперь переместите файл в командной строке, в нужном месте:

mv config.bashrc .bashrc

перезагрузите компьютер после добавления нового значения в PATH.


старый вопрос, но он может помочь кому-то другому.

Я изменил свой путь пользователя, после этого я просто вышел из системы и снова вошел в систему.

вот оно! git bash правильно загрузил новое значение пути.


кажется, основной причиной здесь является Git Bash, который не всегда может правильно анализировать переменную %USERPROFILE%. Вместо того, чтобы сделать его относительно C:\Users\\ он получает значение C:\Windows\System 32\systemprofile\ После изменения этого на полный адрес, он работает, и даже если я верну его позже, Git Bash по-прежнему имеет правильный путь по какой-то причине.


Я могу подтвердить, что перезапуск системы гарантирует, что путь, установленный в переменной среды в windows, будет подобран git, и нет другого автоматического способа.


для меня самым удобным было: 1) создайте каталог "bin" в корне диска C: 2) Добавить ". C:/bin; "to PATH in" My Computer - > Properties - > Environemtal Variables"


Я сталкиваюсь с этой проблемой, когда пытаюсь использовать mingw для компиляции XGBoost lib в Win10. Наконец я нашел решение.

создайте файл с именем а .bashrc в вашем домашнем каталоге (обычно C:\Users\username). Затем добавьте к нему путь. Не забудьте использовать кавычки, если ваш путь содержит пробел, и не забудьте использовать /c/ вместо C:/

например:

путь=$path: в"программы/ц/файлы/компилятор MinGW-w64/x86_64 с-7.2.0-в POSIX-сех-rt_v5-ред. 1/mingw64/ОГРН"


для тех из вас, кто пробовал все вышеупомянутые методы, включая Windows system env. переменные параметры. ,bashrc следующее, .bashprofile, etc. И может видеть правильный путь в "echo $PATH"... У меня есть решение для вас.

подавление ошибок с помощью exec 2> /dev / null

мой скрипт работает нормально, но бросал ошибки "команда не найдена" или "каталог не найден", хотя, насколько я могу судить, пути были флеш. Итак, если вы подавляете эти ошибки (возможно, придется также добавить "set +e"), чем он работает правильно.


Я столкнулся с глупой ошибкой с моей стороны. У меня был широкий системный и пользовательский путь переменной для моей рабочей области golang на моей машине windows 10. Когда я удалил резервный системный переменный путь и вышел из системы и снова включился, я смог позвонить .exe-файлы в bash и вызов go env с успехом.

хотя OP получил ответ, это еще одна проблема, которая может помешать bash видеть ваши пути. Я только что протестировал bash снова с этой проблемой, и это, похоже, дает конфликт какого-то рода, который блокирует bash от следования любому из путей.


Не избегайте (\) специальных символов при редактировании/добавлении в переменную $PATH. Например, каталог приложения в program files будет выглядеть так: PATH=$PATH:/c/Program Files (x86)/random/application

Не делайте этого:
PATH=$PATH:/c/Program\ Files\ \(x86\)/random/application/

надеюсь, что это помогает.


В Переменных Среды Пути Windows 7 Я просто добавляю в конце пути системной переменной

\; C:\Program файлы\Git\bin

и это работает сейчас!


создайте переменную пользователя с именем Path и добавьте как значение %Path%, из того, что я заметил, Git Bash видит только пользовательские переменные, а не системные переменные. Выполнив указанную процедуру, вы откроете свою системную переменную в пользовательских переменных.