Niedawno ręcznie dodałem katalog do ŚCIEŻKI systemu Windows, przechodząc do Panelu sterowania -> System -> Zaawansowane ustawienia systemu -> Zmienne środowiskowe -> Zmienne użytkownika -> ŚCIEŻKA. (Windows 7, 64-bitowy).
Po ponownym uruchomieniu i uruchomieniu cmd.exe echo %PATH%
wskazuje, że to zadziałało: widzę katalog, który ostatnio dodałem w danych wyjściowych.
Jednak po uruchomieniu Git Bash dane wyjściowe echo $PATH
nie zawierają tego katalogu.
Mógłbym dodać export PATH=$PATH:/c/my/path
mój bashrc, ale wolałbym, aby Git Bash po prostu pobierał PATH z Windows, więc nie muszę pamiętać, aby dodawać ścieżki do dwóch miejsc. Jak można tego dokonać?
(Bardziej ogólne pytanie dotyczy tego, co konfiguruje $ PATH Git Bash? Widzę kilka wpisów powtarzanych w różnych miejscach, niektóre rzeczy w Windows% PATH% znajdują się w $ PATH Git Bash, ale nie inne. Co się dzieje wcześniej Dostaję monit Git Bash, który dotyka $ PATH?)
C:\cygwin\usr\x86_64-w64-mingw32\sys-root\mingw\bin
.Odpowiedzi:
Sesja msitgit git bash korzysta ze skryptu
share/WinGit/Git Bash.vbs
, który nie uzyskuje dostępu do zmiennej środowiskowej ani jej nie modyfikujePATH
(na przykład w niepowiązanym skrypcie VBS )Sesja git bash po prostu doda przed bieżącą
PATH
:Możliwe, że sesja mingw spakowana z msysgit nie rozważy
bin
innej instalacji mingw: możesz to sprawdzić, ustawiając inny (prostszy) katalog dla siebiePATH
i sprawdzając, czy nadal jest widoczny w twojej sesji git bash. Jeśli nie, to jest to bardziej ogólny problem, który dotyczy wszystkich katalogów dodanych do ŚCIEŻKI.źródło
"c:\Program Files\Java\jdk1.8.0_25"\bin
w moim/c/Program Files/Java/jdk1.8.0_25"/bi
systemie Windows ścieżka jest konwertowana na ścieżkę git bash (uwaga brakuje pierwszego i ostatniego znaku) ... więc pytanie brzmi, jak to się dzieje?Oto moje małe obejście podobnego problemu (MSYS2 bash na Windows 10).
Chodzi o to, aby przekonwertować wymagane ścieżki na ścieżki w stylu uniksowym i dołączyć je do bash $ PATH, wszystko wykonane w .bashrc.
Nie dołączaj wymaganych ścieżek do ścieżki PATH. Zamiast tego utwórz nową zmienną env w systemie Windows, na przykład MSYS2_WINPATH, i dołącz do tej zmiennej wszystkie katalogi ścieżek systemu Windows oddzielone średnikami. Dołącz% MSYS2_WINPATH% do% PATH%.
Teraz wstaw to do swojego .bashrc -
źródło
Jeśli wartość PATH byłaby zbyt długa po skonkatenowaniu zmiennej PATH użytkownika ze zmienną PATH środowiska, system Windows po cichu nie będzie mógł konkatenować zmiennej PATH użytkownika.
Może się to łatwo zdarzyć po zainstalowaniu nowego oprogramowania i dodaniu czegoś do ŚCIEŻKI, co spowoduje uszkodzenie istniejącego zainstalowanego oprogramowania. Windows nie działa!
Najlepszym rozwiązaniem jest edycja jednej ze zmiennych PATH w Panelu sterowania i usuwanie niepotrzebnych wpisów. Następnie otwórz nowe okno CMD i sprawdź, czy wszystkie wpisy są wyświetlane w „echo% PATH%”.
źródło
Spróbuj przenieść katalog na początek zmiennej ścieżki. Miałem ten sam problem co ty po zainstalowaniu p4merge. Katalog perforce został dodany do ścieżki i p4merge został znaleziony przez cmd.exe, ale nie git shell (mingw). Po bezowocnym wyszukiwaniu próbowałem po prostu edytować zmienną, tak aby katalog perforce pojawił się pierwszy na mojej ścieżce. Uruchomiłem git shell i, voila, katalog jest zawarty w wyjściu
$ echo $path
i$ p4merge
otwiera p4merge.To trochę kiepska odpowiedź, ponieważ nie mam pojęcia, dlaczego to działa, ale jeśli obejście pomaga komuś innemu, to świetnie.
źródło