Xóa git khỏi / usr / bin


11

Tôi đang dùng OS X 10.8 và tôi đang sử dụng Homebrew. brew doctornói với tôi rằng tôi có 2 cài đặt git, một trong /usr/binvà một trong /usr/local/bin.

Có phải là một ý tưởng tồi để loại bỏ git từ /usr/bin? Nếu không, cách tốt nhất để loại bỏ git và các thành phần sau /usr/binchỉ sử dụng Homebrew là gì?

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

Câu trả lời:


12

Cách tốt nhất để loại bỏ git và các thành phần sau khỏi / usr / bin để chỉ sử dụng Homebrew là gì?

Shell của bạn sử dụng các nhị phân không phải là Homebrew chỉ vì chúng đến trước trong bạn $PATH.

Vì vậy, trong ~/.bash_profile(hoặc ~/.profile, tùy thuộc vào loại bạn sử dụng), hãy thêm dòng sau:

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

Xóa tất cả các PATHbài tập khác sẽ đặt /usr/local/binsau $PATH, bởi vì sau đó, /usr/binsẽ đến trước và shell của bạn sẽ sử dụng hệ thống git.


Bạn có thể xóa cài đặt Git /usr/bin, nhưng tùy theo lựa chọn nào. Tôi tin rằng tại một số điểm bạn đã sử dụng trình cài đặt git-osx , đặt nó ở đó, nhưng không có vấn đề gì trong việc giữ cả hai cài đặt. Bạn chỉ cần biết cái nào bạn muốn sử dụng.


0

Áp dụng lẽ thường và tự hỏi TẠI SAO bạn muốn gỡ bỏ một cài đặt? Bạn có muốn gọi một trong hai gits đó mọi lúc không? Chỉ cần có thư mục bin của nó trong PATH đầu tiên.


0

Cách tốt nhất là xóa nó bằng Homebrew, vì nó có bản ghi rằng git của bạn đã được cài đặt. Nếu bạn gỡ bỏ nó bằng tay, trong quá trình sửa chữa, nó có thể cài đặt lại.

Với lệnh sau kiểm tra gói git nào đang sử dụng:

brew info --all git

Hoặc tất cả các tệp có phụ thuộc:

brew ls --unbrewed git

Cách đơn giản là loại bỏ nó bằng cách:

brew remove git

Nhưng nó là tùy thuộc vào bạn. Nếu git được cài đặt bởi trình quản lý gói khác nhau, hãy thử cái mà bạn đã cài đặt (như cổng, v.v.).


Tôi sợ Homebrew sẽ không hoạt động với sudo- dù sao cũng không cần phải chạy nó với quyền root.
slhck

1
Sự hiện diện của git in / usr / bin chỉ ra nó là bản cài đặt không phải là Homebrew.
echristopherson

Tôi đang sử dụng brew với sudo, nhưng nó phụ thuộc vào cấu hình của bạn.
kenorb

0

Do "/ usr / bin / git" được cài đặt bởi apple git-48, vì vậy tôi không muốn thay đổi PATH. Bạn có thể làm một cái gì đó như sau:

$ brew update
$ brew cài đặt
$ sudo mv / usr / bin / git / usr / bin / git-48

Sau đó, bạn có thể kiểm tra nó bằng cách

$ git - chuyển đổi

Đầu ra sẽ như thế này: git phiên bản 2.1.0

BTW, nếu bạn muốn cài đặt vim bằng homebrew, nó cũng hoạt động.


0

Cách xóa cài đặt git khỏi / usr / local / bin trên máy Mac. (OSX 10.14.2)

Tôi đã cài đặt git 1.9.0 cũ từ gói cài đặt git-osx (git-1.9.0-intel-Universal-snow-Leopard.dmg). Đây là cách tôi loại bỏ nó.

Nắm tay, tìm phiên bản git của bạn và cài đặt vị trí.

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

Sau đó, tìm gói cài đặt git ban đầu của bạn, trong trường hợp của tôi là git-1.9.0-intel-Universal-snow-Leopard.dmg. Nếu bạn không tải xuống từ đây: https://sourceforge.net/projects/git-osx-installer/files/

Cuối cùng, mở gói trình cài đặt (git-1.9.0-intel-Universal-snow-Leopard.dmg) và chạy tệp Uninstall.sh trong thư mục gốc.

$ uninstall.sh

LÀM XONG

Đính kèm tệp Uninstall.sh, hiển thị đường dẫn tệp đang bị xóa. Tập lệnh gỡ cài đặt có thể khác nhau đối với các phiên bản trình cài đặt khác nhau, vì vậy hãy chắc chắn sử dụng đúng tập lệnh.

Gỡ cài đặt tệp.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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.