Homebrew - Оновлення програмного забезпечення в / usr / bin


5

Моя ОС X постачається з інстальованою версією Git /usr/bin. Однак ця версія старша за офіційну стабільну. Я хотів би оновити його.

Чи можна використовувати Homebrew для оновлення цієї версії? Або ж Homebrew встановити Git в окремому місці (і якщо я це зробити, як я можу переконатися, що нова версія фактично використовується)?


У вас було кілька запитань. Цей сайт працює краще, якщо на одне запитання залишається лише одне питання. Таким чином, іншим людям легше знайти рішення, якщо вони мають таку ж проблему. Я відредагував інші ваші запитання, але не соромтеся запитувати його окремо.
nohillside

Подивитися apple.stackexchange.com/questions/63946/… для частини відповіді
nohillside

Відповіді:


9

Не замінюйте, змінюйте або перейменовуйте системні інструменти в / usr / bin. Існує ряд причин, чому це погано, і ви можете шукати конкретні причини, але, щоб бути простим, не редагуйте версії системи.

Homebrew це знає, і тому він зберігає інструменти в / usr / local / bin. Ця версія використовується замість версії системи, оскільки Homebrew вимагає, щоб його каталог знаходився перед системним контуром у змінній $ PATH.

Запустити brew doctor і ви, ймовірно, отримаєте таке повідомлення:

Попередження: / usr / bin виникає до / usr / local / bin Це означає, що замість тих, які надаються Homebrew, будуть використовуватися системні програми. На обох шляхах існують такі інструменти:

easy_install
easy_install-2.6

Подумайте про внесення змін до вашого PATH так, щоб / usr / local / bin попереду / usr / bin у вашій PATH.

Щоб виправити це, додайте це до свого профілю:

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

… Або додайте /usr/local/bin до вершини / etc / paths, наприклад:

/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

3

Homebrew встановить інструменти в /usr/local/bin так, щоб він не зіпсувався з інструментами системи, які були попередньо встановлені на вашому Mac. Як згадується grgarside, не рекомендується змінювати системні інструменти.

Ось більш конкретні та детальні інструкції для налаштування Змінна середовища PATH , яка дозволяє вам перелічити декілька каталогів, у яких ви бажаєте, щоб ваш Mac шукав у виконанні.

Щоб використовувати останню версію git або будь-який інший інструмент, інстальований у /usr/local/bin з Homebrew, ви хочете сказати вашому Mac, щоб спочатку подивитися /usr/local/bin перед тим, як виглядатиме за замовчуванням /usr/bin. Ви робите це, визначаючи PATH у вашому .bash_profile, який є файлом, який завантажується автоматично кожного разу, коли ви відкриваєте нове вікно терміналу.

Ви можете записати PATH до вашого .bash_profile, запустивши цей один лайнер з терміналу:

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

Ця команда приймає все між окремими лапками (echo) і додає його (>>) у файл з назвою .bash_profile у каталозі користувача (або домашній) користувача (~/).

Щоб ці зміни набули чинності, ви можете закрити або відновити термінал, або виконати цю команду:

source ~/.bash_profile

Якщо ви хочете зробити все це вручну, відкрийте .bash_profile з вашим улюбленим редактором, а потім додайте цей рядок до нього:

PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

і збережіть його. Потім вийдіть і відновіть термінал.

На відміну від grgarside, я не рекомендую змінювати /etc/paths файл, тому що ви б робили глобальний зміни, на відміну від змін, які впливають тільки на вашу особисту .bash_profile, і тільки тоді, коли ви знаходитесь в оболонці bash.


Спасибі - Чи є причина, чому ви рекомендуєте безпосередньо редагувати змінну PATH, а не додавати відповідні рядки /etc/path (як у іншій відповіді)?
Amelio Vazquez-Reina

1
Привіт. Я редагував свою відповідь, щоб пояснити, чому я не рекомендую змінювати / etc / paths. Див. Останній параграф.
monfresh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.