Я встановив новітню версію git (1.8.3) за допомогою домашнього перекладу, але коли я набираю текст
git --version
в моєму терміналі він друкує:
git version 1.7.10.2 (Apple Git-33)
Що мені робити, щоб замінити стару версію git новою?
Я встановив новітню версію git (1.8.3) за допомогою домашнього перекладу, але коли я набираю текст
git --version
в моєму терміналі він друкує:
git version 1.7.10.2 (Apple Git-33)
Що мені робити, щоб замінити стару версію git новою?
Відповіді:
Дякую всім за корисні відповіді. У моєму випадку додаю
export PATH="/usr/local/bin:${PATH}"
в ~/.bash_profileподальшому
source ~/.bash_profile
вирішив проблему для мого користувача.
/usr/local/binвище /usr/binв /etc/paths.
brew doctorдля діагностики проблеми
/etc/paths. Визначення лише "експорту" може бути недостатньо, якщо він /usr/binмає "пріоритет" над /usr/local/bin(з самогону) ...
Гаразд, я готовий серйозно поставитися до scm.
$ git --version
git version 1.9.5 (Apple Git-50.3)
Ні, це не те, чого я хотів. Я <3 домашньої, тому:
$ brew install git
Все готово?
$ git --version
git version 1.9.5 (Apple Git-50.3)
До! (дряпає голову)
$ which git
/usr/bin/git
Ах, Apple, git є в / usr / bin, тож воно козирує домашнє. Що робити?
(A) Просто перейменуйте двійкові Apple
(B) Нехай один, котрий керує домашньою мовою, має перевагу:
[редагувати експорт PATH, наприклад, у ~ / .zshrc (о-мі-zsh + iTerm2 FTW! / tangent)]
[конкретно: move / usr / local / bin / git: before / usr / bin:]
... та / або (наприклад, для більш широкого дозволу встановити систему козирів, які встановлюють козир, і мати пріоритет для всіх оболонок та користувачів) також редагувати / etc / path file, [переміщення / usr / local / bin вище / usr / bin ]
Але припускаючи лише найпростіший / найменш інвазивний підхід:
$ sudo mv /usr/bin/git /usr/bin/git-apple
Це спрацювало?
$ which git
/usr/local/bin/git
Поки що хороший, зараз момент істини:
$ git --version
git version 2.2.1
w00t! :) Час поїхати читати http://git-scm.com ! :)
which gitвказівкою на /usr/local/bin/gitце мені не вийшло. Щоб вирішити це, мені довелося видалити додаток GitHub Mac.
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
Всі трюки, згадані тут у кількох відповідях, більше не потрібні на macOS Sierra & Mojave з останнім Homebrew. Забудьте про export PATH="..."зміни та зміни ~/.bash_profile.
Ви просто робите
brew install git
і зробили.
Для підтвердження відкрийте нове (!) Вікно терміналу та введіть
git --version
brew link --overwrite gitпрацював на мене
Після встановлення останнього git за допомогою brew ( brew install git) запустіть цей однокласник (як це запропонував brew doctor), якщо його ще немає:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Потім знову закрийте Terminal a open (перезапустіть баш-сесію). Це потрібно зробити, навіть якщо ваш PATH вже був правильним, оскільки ZSH та Bash кешують вміст PATH (див. Документацію щодо вбудованої команди hash).
Це повинно виправити речі дуже швидко.
Коли ви вводите текст
git --version
у Terminal.app або консолі, ваш коментар до іншого питання вказав, що версія, яку він повертає, - це git в / usr / bin / git
Якщо ви встановили Xcode 4.5 (і новіші) та введіть
xcrun git --version
у Terminal.app або консолі версія, яку він повертає, - це git у пакеті додатків Xcode.
Якщо ви використовуєте Homebrew для встановлення та оновлення git, найпростішим рішенням є
перейменуйте оригінальне місце розташування, перейменувавши його за допомогою mv. Наприклад
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
створити м'яке посилання за допомогою 'ln -s' до бінарного файлу git, встановленого за допомогою Homebrew.
Зауважте, що MattDMo має кращі рішення в коментарях.
/usr/bin, оскільки інші програми, про які ви навіть не знаєте, залежать від капризів, пов'язаних з певною версією. Найпростіше рішення, не рухаючи нічого, - додати /usr/local/binдо $PATHзмінної вашого середовища раніше /usr/bin- IIRC, встановлення домашнього перекладу до/usr/local/bin
Я спробував це, і це працює на мене.
brew link --overwrite git
Ви повинні перейменувати оригінал git на apple у, /usr/bin/наприклад, git-org, оскільки /usr/binце зазвичай є /usr/local/binу вашому каталозі шляху, де знаходиться заварний матеріал.
Тому:
cd /usr/bin
sudo mv git git-org
і не забудьте зв’язати заварку git
brew link git
Це передбачає, що /usr/local/binє у вашому $PATHсередовищі змінною. Якщо у вас все ще виникають проблеми, спробуйте запустити
brew doctor
і виправити згадані там проблеми.
/usr/local/bin(каталог встановлення homebrew, IIRC) $PATHнаперед, /usr/binа не замінюватись перейменовуванням та резервним
Встановіть git з варитися, запустіть це.
brew link --force git
Закрийте і знову відкрийте термінал для запуску which git.
brew link --overwrite gitпрацював
Якщо ви встановлюєте git з git-scm.com безпосередньо і хочете використовувати останню завантажену git замість яблучної (старої) версії git.
/usr/local/bin/gitgit --version, якщо він повертає Apple стару версію git, тоді перейдіть нижчеcd ~ (змінити каталог в домашній каталог)vi .bashrci(для вставки тексту в редактор vi)export PATH......., натисніть клавішу вгорі експорту та введіть наступне: export PATH=/usr/local/:$PATH(Зверніть особливу обережність зі PATHзмінною, не змішуйте це, це спричинить проблеми для вашої ОС) (сподіваємось, новий git має бути встановлений у /usr/local/git):wq(щоб зберегти .bashrcфайл)git --version(ви повинні побачити нову версію)Це залежить від того, звідки походить твоя туга. Xcode приносить версію, наприклад, можливо, це передова на вашому шляху.
Можливо, набравши текст
which git
покаже, де стара.
/usr/bin/git...
Щоб оновити що-небудь за допомогою Homebrew на OSX, що включає компіляцію за допомогою gcc, переконайтеся, що у вас є оновлений Інструменти командного рядка з Xcode - так, я знаю, це забирає необхідність приховати загальносистемний інструмент у налаштуваннях програми.
brew doctorі виправте всі інші перешкодиbrew upgradeдля оновлення всіх пакетів одразу