OS X (lub Xcode) jest dostarczany w pakiecie z git 1.7.something, ale po brew install git
(1.8.0) which git
zwraca stary /usr/bin/git
.
Oto co otrzymuję, gdy w tym momencie odbieram echo $ PATH:
/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin
Czy rzeczy Homebrew nie powinny mieć pierwszeństwa?
Poza tym nie mam pojęcia, skąd to się usr/local/git/bin
bierze.
ls /usr/local/bin
pokazygit
są tam. Brew potwierdza również, że jest zainstalowany. Uruchomiłem nawet deinstalator git (zarównobrew uninstall
przy pomocy tego, który jest dołączony do oficjalnego pobrania git), jak i ponowniebrew install git
. Ciągle dostajęwhich git = = /usr/bin/git"
.which -a git
aby zobaczyć, czy to w ogóle go znajduje.Odpowiedzi:
Rozumiem. Odpowiedź jest na twoje pytanie; brew instaluje git do
/usr/local/git/bin
(nie/usr/local/bin
), ale ponieważ jest to na/usr/bin
twojej drodze, dostajesz to jako pierwsze. Mój komentarz dowhich -a git
powinien był cię wskazać w tym kierunku.źródło
ls -l /usr/local/bin/git
też. Założę się, że jest to symboliczny link do/usr/bin/git
./usr/local/git/bin
wydaje się, że to tam też oficjalny instalator./etc/paths
i/etc/paths.d
jak dobrze.which -a git
powroty/usr/local/bin/git; /usr/bin/git; /usr/local/bin/git
. Zmieniłem nazwę starego gitausr/bin/git_old
i usunąłem go z drogi. Terazgit --version
zwraca 1.8, co dowodzi, że browar poprawnie zainstalował git. - Znów zmieniłem nazwę/usr/bin/git
na pierwotną nazwę ... i nagle działa poprawnie! Nie wiem dlaczego ani jak, ale/usr/bin/git
wydaje się , że zmiana nazwy i uruchomienie git kiedyś rozwiązało problem. Kto wie, co było przyczyną problemu. W każdym razie dzięki :)Spotkałem również ten problem.
Po zainstalowaniu git przez homebrew, jeśli uruchomisz
brew doctor
, ostrzeże Cię, że, jak wspomniano powyżej Joe, system uruchamia starego gita, ponieważ jego lokalizacja instalacji jest najważniejsza.Ale w tym samym ostrzeżeniu homebrew podaje kod, aby to naprawić:
źródło
Częścią moich przyzwyczajeń uniksowych jest posiadanie
~/bin
katalogu, który umieszczam na początkuPATH
. To jeden z pierwszych bitów w moim.bashrc
:Po wprowadzeniu tego rozwiązania, selektywne sprawianie, aby tylko zarządzane przez Homebrew
git
miało pierwszeństwo przed wersją systemową (zamiast wszystkich plików binarnych zarządzanych przez Homebrew) i tylko dla sesji powłoki (zamiast wszystkich programów uruchamianych z dowolnego miejsca, w tym programów GUI), jest tak proste jak symlinkowanie:źródło