Удаление git из / usr / bin


11

Я на OS X 10.8, и я использую Homebrew. brew doctorговорит мне, что у меня есть 2 установки git, одна в, /usr/binа другая в /usr/local/bin.

Это плохая идея, чтобы удалить git из /usr/bin? Если нет, как лучше удалить git и следующие компоненты, /usr/binчтобы использовать только Homebrew?

git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
gitk

Ответы:


12

Какой лучший способ удалить git и следующие компоненты из / usr / bin, чтобы использовать только Homebrew?

Ваша оболочка использует не домашние двоичные файлы только потому, что они стоят первыми в вашем $PATH.

Итак, в вашем ~/.bash_profile(или ~/.profile, в зависимости от того, который вы используете), добавьте следующую строку:

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

Удалите все другие PATHназначения, которые будут помещены /usr/local/binпосле $PATH, потому что тогда, /usr/binсначала, и ваша оболочка будет использовать систему git.


Вы можете удалить инсталляции Git /usr/bin, но выбор за вами. Я думаю, что в какой-то момент вы использовали git-osx-installer , который поместил его туда, но нет проблем с сохранением обеих установок. Вы просто должны знать, какой из них вы хотите использовать.


0

Примените здравый смысл и спросите себя, ПОЧЕМУ вы хотите удалить одну установку? Вы хотите вызывать один из этих двух мерзавцев каждый раз? Просто сначала поместите каталог bin в PATH .


0

Лучший способ - удалить его с помощью Homebrew, потому что в нем есть запись об установке вашего git. Если вы удалите его вручную, во время какого-либо процесса восстановления, он может установить его снова.

С помощью следующей команды проверьте, какие файлы использует пакет git:

brew info --all git

Или все файлы с зависимостями:

brew ls --unbrewed git

Самый простой способ это удалить:

brew remove git

Но это зависит от вас. Если git был установлен другим менеджером пакетов, попробуйте тот, который вы установили (например, порт и т. Д.).


Боюсь, что Homebrew не будет работать sudo- нет необходимости запускать его с правами root.
Slhck

1
Наличие git в / usr / bin указывает на то, что это не домашняя установка.
Эхристоферсон

Я использую brew с sudo, но это зависит от вашей конфигурации.
Кенорб

0

Из-за "/ usr / bin / git" устанавливается apple git-48, поэтому я предпочитаю НЕ изменять ПУТЬ. Вы можете сделать что-то вроде следующего:

$ brew update
$ brew install
$ sudo mv / usr / bin / git / usr / bin / git-48

Тогда вы можете проверить это по

$ git --version

Вывод будет таким: git version 2.1.0

Кстати, если вы хотите установить Vim Homebrew, это также работает.


0

Как удалить установку git из / usr / local / bin на Mac. (OSX 10.14.2)

У меня была старая установка git 1.9.0 из пакета git-osx-installer (git-1.9.0-intel-universal-snow-leopard.dmg). Вот как я это убрал.

Кулак, найди свою версию git и установи местоположение.

$ which git
/usr/local/git/bin/git
$ git --version
git version 1.9.0

Затем найдите свой оригинальный установочный пакет git, в моем случае git-1.9.0-intel-universal-snow-leopard.dmg. Если у вас его нет, загрузите отсюда: https://sourceforge.net/projects/git-osx-installer/files/

Наконец, откройте установочный пакет (git-1.9.0-intel-universal-snow-leopard.dmg) и запустите файл uninstall.sh в корневой папке.

$ uninstall.sh

СДЕЛАНО

Вложение файла uninstall.sh, в котором указаны пути к удаляемым файлам. Сценарий удаления может отличаться для разных версий установщика, поэтому обязательно используйте правильную.

Файл uninstall.sh (git-1.9.0-intel-universal-snow-leopard.dmg)

if [ ! -r "/usr/local/git" ]; then
  echo "Git doesn't appear to be installed via this installer.  Aborting"
  exit 1
fi
echo "This will uninstall git by removing /usr/local/git/**/*, /etc/paths.d/git, /etc/manpaths.d/git"
printf "Type 'yes' if you sure you wish to continue: "
read response
if [ "$response" == "yes" ]; then
  sudo rm -rf /usr/local/git/
  sudo rm /etc/paths.d/git
  sudo rm /etc/manpaths.d/git
  pkgutil --packages | grep GitOSX.Installer | xargs -I {} sudo pkgutil --forget {}
  echo "Uninstalled"
else
  echo "Aborted"
  exit 1
fi

exit 0
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.