Git не запускается из первого расположения в $PATH

Git не запускается из первого расположения в $PATH

Похоже, на моем Mac установлено два разных экземпляра git, и по какой-то причине bash не выбирает тот, который я хотел бы использовать, даже несмотря на то, что его каталог указан перед каталогом другого экземпляра в переменной PATH.

Git находится в следующих двух каталогах

/usr/bin/git #git version 2.24.3 (Apple Git-128), probably installed by XCode
/usr/local/Cellar/git/2.29.2/bin/git #installed by homebrew 

На последний также есть символическая ссылка из /usr/local/bin/git

lrwxr-xr-x  1 fredrik  admin  28 Dec  6 13:50 /usr/local/bin/git -> ../Cellar/git/2.29.2/bin/git

Я хотел бы использовать версию homebrew, которая является актуальной (и легко поддерживается в актуальном состоянии), в то время как экземпляр XCode является более старым, который я не смог легко обновить. Однако, по какой-то причине, bash продолжает выбирать git из /usr/bin

fredrik ~ $ whereis git
/usr/bin/git

даже если /usr/local/bin стоит перед /usr/bin в моей переменной PATH

fredrik ~ $ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:~/bin:/usr/local/opt/openssl/bin

Почему это так, и что мне сделать, чтобы bash выбрал нужный экземпляр? Я уже пытался удалить экземпляр git из /usr/bin, но система не позволяет мне

fredrik bin $ rm -rf git
rm: git: Operation not permitted

вероятно, из-за защиты целостности системы или чего-то в этом роде.

решение1

Вы, вероятноявляютсяиспользуя /usr/local/bin/git. Проблема в том, что вы не задаете правильный вопрос. Не используйте whereis(он не делает то, что вы думаете); используйте which, например:

which -a git

Это выведет список всех известных gitинструментов в порядке $PATH. Или вы можете просто сказать

git --version

Это покажет вам, какую версию gitиспользует типичная команда.

Связанный контент