Tôi đã cài đặt phiên bản mới nhất của git (1.8.3) bằng homebrew nhưng khi tôi gõ
git --version
trong thiết bị đầu cuối của tôi, nó in:
git version 1.7.10.2 (Apple Git-33)
Tôi nên làm gì để thay thế phiên bản cũ của git bằng phiên bản mới?
Tôi đã cài đặt phiên bản mới nhất của git (1.8.3) bằng homebrew nhưng khi tôi gõ
git --version
trong thiết bị đầu cuối của tôi, nó in:
git version 1.7.10.2 (Apple Git-33)
Tôi nên làm gì để thay thế phiên bản cũ của git bằng phiên bản mới?
Câu trả lời:
Cảm ơn mọi người vì câu trả lời hữu ích. Trong trường hợp của tôi thêm
export PATH="/usr/local/bin:${PATH}"
trong ~/.bash_profile
tiếp theo
source ~/.bash_profile
giải quyết vấn đề cho người dùng của tôi.
/usr/local/bin
trên /usr/bin
trong /etc/paths
.
brew doctor
để chẩn đoán sự cố
/etc/paths
. Chỉ xác định "xuất khẩu" có thể là không đủ, nếu /usr/bin
đã "ưu tiên" hơn /usr/local/bin
(từ bia) ...
Ok, tôi đã sẵn sàng để nghiêm túc về scm.
$ git --version
git version 1.9.5 (Apple Git-50.3)
Không, đó không phải là điều tôi muốn. Tôi <3 homebrew, vì vậy:
$ brew install git
Tất cả các thiết lập?
$ git --version
git version 1.9.5 (Apple Git-50.3)
Đừng! (gãi đầu)
$ which git
/usr/bin/git
À, git của Apple nằm trong / usr / bin, vì vậy nó vấp phải cái homebrew. Phải làm sao
(A) Chỉ cần đổi tên nhị phân của Apple
(B) Hãy ưu tiên quản lý homebrew:
[chỉnh sửa xuất PATH, ví dụ: trong ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tangent)]
[cụ thể: di chuyển / usr / local / bin / git: before / usr / bin:]
... và / hoặc (vd ]
Nhưng giả sử chỉ là cách tiếp cận đơn giản / ít xâm lấn nhất:
$ sudo mv /usr/bin/git /usr/bin/git-apple
Nó có hoạt động không?
$ which git
/usr/local/bin/git
Cho đến nay rất tốt, bây giờ là thời điểm của sự thật:
$ git --version
git version 2.2.1
w00t! :) Thời gian để đọc http://git-scm.com ! :)
which git
chỉ vào /usr/local/bin/git
, điều này không làm việc cho tôi. Để giải quyết vấn đề này, tôi đã phải gỡ cài đặt ứng dụng GitHub Mac.
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
Tất cả các thủ thuật được đề cập ở đây trong một số câu trả lời không còn cần thiết nữa trên macOS Sierra & Mojave với Homebrew mới nhất. Quên export PATH="..."
và sửa đổi để ~/.bash_profile
.
Bạn chỉ cần làm
brew install git
và bạn đã hoàn thành
Để xác nhận, hãy mở một cửa sổ đầu cuối (!) Mới và gõ
git --version
brew link --overwrite git
làm việc cho tôi
Khi bạn đã cài đặt git mới nhất qua brew ( brew install git
), hãy chạy phần mềm lót này (như được đề xuất bởi brew doctor
) nếu nó chưa có ở đó:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Sau đó thoát Terminal và mở lại (khởi động lại phiên bash của bạn). Bạn cần phải làm điều này ngay cả khi PATH của bạn đã chính xác, vì ZSH và Bash lưu trữ nội dung của PATH (xem tài liệu về lệnh tích hợp hash
).
Điều đó sẽ sửa chữa mọi thứ thực sự nhanh chóng.
Khi bạn gõ
git --version
trong Terminal.app hoặc bảng điều khiển, nhận xét của bạn về một câu hỏi khác cho biết phiên bản mà nó trả về là git in / usr / bin / git
Nếu bạn đã cài đặt Xcode 4.5 (và mới hơn) và nhập
xcrun git --version
trong Terminal.app hoặc console, phiên bản mà nó trả về là git trong gói ứng dụng Xcode.
Nếu bạn đang sử dụng Homebrew để cài đặt và cập nhật git, giải pháp đơn giản nhất là
đổi tên vị trí ban đầu bằng cách đổi tên nó bằng mv. Ví dụ
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
tạo một liên kết mềm bằng cách sử dụng 'ln -s' cho tệp nhị phân git mà bạn đã cài đặt với Homebrew.
Lưu ý rằng MattDMo có một giải pháp tốt hơn trong các ý kiến.
/usr/bin
, vì có thể các chương trình khác mà bạn thậm chí không biết về việc phụ thuộc vào những điều mơ hồ liên quan đến một phiên bản cụ thể. Giải pháp đơn giản nhất, không cần di chuyển bất cứ thứ gì, là thêm /usr/local/bin
vào $PATH
biến môi trường của bạn trước /usr/bin
- IIRC, homebrew cài đặt vào/usr/local/bin
Bạn phải đổi tên git ban đầu của apple /usr/bin/
thành ví dụ git-org vì /usr/bin
thông thường trước đây /usr/local/bin
trong thư mục đường dẫn của bạn có công cụ pha chế.
Vì thế:
cd /usr/bin
sudo mv git git-org
và đừng quên liên kết bia git
brew link git
Điều này giả định rằng đó /usr/local/bin
là trong $PATH
biến môi trường của bạn . Nếu bạn vẫn có vấn đề hãy thử chạy
brew doctor
và khắc phục các vấn đề được đề cập ở đó.
/usr/local/bin
(Homebrew của thư mục cài đặt, IIRC) cho $PATH
trước /usr/bin
thay vì mucking xung quanh với việc đổi tên và sao lưu, vv
Cài đặt git với brew, chạy này.
brew link --force git
Đóng và mở lại thiết bị đầu cuối để chạy which git
.
brew link --overwrite git
đã hoạt động
Nếu bạn đang cài đặt git từ git-scm.com trực tiếp và muốn sử dụng git được tải xuống mới nhất thay vì phiên bản git của apple (cũ).
/usr/local/bin/git
git --version
, nếu nó trả về phiên bản git cũ của Apple thì hãy tiến hành bên dướicd ~
(thay đổi thư mục vào thư mục nhà của bạn)vi .bashrc
i
(để chèn văn bản trong trình soạn thảo vi)export PATH.......
, nhấn enter trên đầu xuất và nhập như sau: export PATH=/usr/local/:$PATH
(Hãy hết sức thận trọng với PATH
biến không làm rối nó nếu không nó sẽ gây ra sự cố cho hệ điều hành của bạn) (hy vọng nên cài đặt git mới /usr/local/git
):wq
(để lưu .bashrc
tệp)git --version
(bạn sẽ thấy phiên bản mới)Nó phụ thuộc vào nơi git của bạn đến từ đâu. Xcode mang đến một phiên bản chẳng hạn, có thể đó là trả trước trong đường dẫn của bạn.
Có lẽ đang gõ
which git
sẽ chỉ ra nơi cũ là.
/usr/bin/git
...
Để nâng cấp mọi thứ bằng Homebrew trên OSX liên quan đến việc biên dịch bằng gcc, hãy đảm bảo bạn đã cập nhật Công cụ dòng lệnh từ Xcode, vâng, tôi biết rằng nó phải ẩn một công cụ toàn hệ thống trong các tùy chọn của ứng dụng.
brew doctor
và sửa tất cả các chướng ngại vật khácbrew upgrade
để nâng cấp tất cả các gói cùng một lúc