Подтвердить что ты не робот

Git Bash не видит мой PATH

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

4b9b3361

Ответ 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, вы можете выбрать параметр, показанный ниже, это поможет вам автоматически установить путь.

Git installation wizard

Его разработали для меня:)

Ответ 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 может быть из ваших пользовательских переменных или из системных переменных. Смотри ниже: enter image description here

как говорилось в предыдущем ответе, проверьте с помощью команды 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

и теперь он работает!