Brew doctor Внимание: как добавить git в PATH?

Я установил Homebrew на OS X El Capitan. На последних этапах установки я должен был установить git с

brew install git

что было хорошо. Теперь, если я запустил "brew doctor", это произойдет:

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Git could not be found in your PATH.
Homebrew uses Git for several internal functions, and some formulae use Git
checkouts instead of stable tarballs. You may want to install Git:
  brew install git

Если я снова запустил 'brew install git', я получаю:

$ brew install git 
Warning: git-2.7.4 already installed

Так что, разумеется, моя версия git - 2.7.4. 'brew update' throws:

$ brew update
Warning: git-2.7.4 already installed
Error: Git must be installed and in your PATH!

Вопрос: Как исправить мой PATH, поэтому git можно найти в моих результатах PATH и brew doctor: "Ваша система готова к brew '?


Дополнительная информация:

  • который -a git приводит к:

    $ which -a git
    /usr/local/bin/git
    /usr/local/bin/git
    /usr/bin/git
    
  • Я пробовал много потенциальных исправлений, между тем я выполнил:

    echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
    

    My ~/.bash_profile теперь выглядит следующим образом:

    # Setting PATH for Python 2.7
    # The orginal version is saved in .bash_profile.pysave
    PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
    export PATH=/usr/local/bin:$PATH
    
  • Когда я пытаюсь установить бокс:

    $ brew tap caskroom/cask
    ==> Installing git
    Warning: git-2.7.4 already installed
    Error: Git is unavailable
    
  • brew config:

    $ brew config
    HOMEBREW_VERSION: 0.9.5
    ORIGIN: (none)
    HEAD: (none)
    Last commit: never
    HOMEBREW_PREFIX: /usr/local
    HOMEBREW_REPOSITORY: /usr/local
    HOMEBREW_CELLAR: /usr/local/Cellar
    HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
    CPU: quad-core 64-bit haswell
    OS X: 10.11.4-x86_64
    Xcode: 7.3
    CLT: 7.3.0.0.1.1457485338
    Clang: 7.3 build 703
    X11: N/A
    System Ruby: 2.0.0-p648
    Perl: /usr/bin/perl
    Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin/python2.7
    Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    Java: 1.8.0_40
    

EDIT: добавлена ​​бочка к дополнительной информации.

EDIT2: добавлена ​​конфигурация brew и добавлен префикс врача brew

Ответ 1

это зафиксировало мою проблему:

cd /usr/local/Library/Homebrew
git pull origin master

после этого я снова побежал

brew update && brew upgrade

Ответ 2

Для меня это было вызвано отсутствием инструментов xcode, исправленных с помощью xcode-select --install.

Несколько других предлагаемых исправлений, включая git fetch в каталоге brew и/или изменение git core.autocrlf, не исправили это.

Более подробно я удалил git из brew brew uninstall --force git, но собственный Apple git затем не работал (/usr/bin/git --version сообщил missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun).

Запуск brew doctor предложил запуск xcode-select --install, я запустил это и исправил Apple git, а также зафиксировал brew. (Возможно затем переустановить git через brew brew install git.)

Ответ 3

Просто запустите:

export PATH=/usr/local/bin:$PATH

Ваша переменная PATH должна выглядеть примерно так:

PATH="/usr/bin:/usr/local/bin"

Ответ 4

Я нашел решение своей проблемы. Это было вызвано неправильным файловым форматом /usr/local/Library/ENV/scm/git:

$ /usr/local/Library/ENV/scm/git --version
-bash: /usr/local/Library/ENV/scm/git: /bin/sh^M: bad interpreter: No such file or directory

Итак, я отредактировал fileformat:

$ vi /usr/local/Library/ENV/scm/git

Нажмите "ESC", напишите :set fileformat=unix, нажмите 'Enter', напишите :wq!.

Это исправило это для меня.

Ответ 5

Я столкнулся с тем же симптомом, когда tyring запускал brew update.

В моем случае проблема была вызвана наличием переменной bash из GIT (в каталог). Таким образом, решение было отключить его для команды brew

$ GIT= brew update

Ответ 6

Если вы похожи на меня: используя macOS El Capitan и не имеете /usr/local/Library/ENV/scm/git, вот что вы можете сделать.

cd /usr/local/
# The folder where you've installed Homebrew
git config --list --local

Ищите: core.autoxrlf=false

Если вы не видите, что он запускается: git config --local core.autocrlf false

Затем запустите:

git fetch origin
git reset --hard origin/master
brew update

Ответ 7

Вероятная проблема с libintl.8.dylib, как и во многих других подобных проблемах:

locate libintl.8.dylib

если /gettext//libintl.*.dylib существует

brew link -f gettext

перейти к (в зависимости от версии)

cd /usr/local/Homebrew 
cd /usr/local/Library/Homebrew 

и выполните (убедитесь, что вы находитесь в каталоге... /Homebrew)

git pull origin master
rm -fr ".git/rebase-apply"
brew update && brew upgrade

эта последняя воля заняла некоторое время, но потом все должно работать нормально.