Không thể sử dụng git cài đặt homebrew


15

Tôi đang gặp một vấn đề thực sự kỳ lạ khi tôi cố gắng sử dụng phiên bản git mới nhất mà tôi vừa cài đặt qua homebrew. which gitđang chỉ cho tôi cài đặt homebrew, nhưng việc gọi gittrả về phiên bản gốc được cài đặt với OS X.

Tôi đã kiểm tra đầu tiên để xem phiên bản gốc mà tôi đang sử dụng.

[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

Sau đó, tôi đã đi đến homebrew để cài đặt phiên bản mới nhất.

[user@home ~]$ brew install git
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/git-2.0.0.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring git-2.0.0.mavericks.bottle.2.tar.gz
==> Caveats
The OS X keychain credential helper has been installed to:
  /usr/local/bin/git-credential-osxkeychain

The 'contrib' directory has been installed to:
  /usr/local/share/git-core/contrib

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/git/2.0.0: 1324 files, 31M

Hình như nó đã làm việc! Kiểm tra xem nó chỉ vào đúng git

[user@home ~]$ which git
/usr/local/bin/git

Nên tốt chứ nhỉ? Không quá nhanh

[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

Lạ nhỉ. Tôi thực sự chỉ vào đúng git?

[user@home ~]$ ls -l /usr/local/bin/git
lrwxr-xr-x  1 user  group  27 Jul  3 15:54 /usr/local/bin/git -> ../Cellar/git/2.0.0/bin/git

Chắc chắn trông giống như nó. Hoạt động khi tôi gọi nó bằng tay

[user@home ~]$ /usr/local/Cellar/git/2.0.0/bin/git --version
git version 2.0.0

Nhưng không phải là git

[user@home ~]$ which git
/usr/local/bin/git
[user@home ~]$ git --version
git version 1.8.5.2 (Apple Git-48)

Bất kỳ ý tưởng như những gì có thể gây ra điều này?

EDIT: Đã giải quyết nó. source .bashrcĐã sửa nó. Vẫn tò mò về lý do tại sao whichsẽ trả lại cho tôi bản thực thi chính xác nhưng nó sẽ không được gọi, nếu có ai có thể giải thích điều đó.


Không chắc chắn chính xác vấn đề là gì, nhưng có vẻ như bạn có thể muốn xem giá trị hiện tại của $PATH.
Zev Eisenberg

3
nếu bạn muốn xem tất cả các phiên bản git mà bạn đã cài đặt sử dụng -> which -a git - (git, chỉ cung cấp cho bạn đường dẫn của phiên bản đầu tiên được tìm thấy trong biến PATH của bạn) để xem những con đường nào bạn có trong PATH của bạn -> echo $ PATH
konqui

Câu trả lời:


24

Shell duy trì bộ đệm của các đường dẫn nơi thực thi được tìm thấy trong $PATHbiến. Vì vậy, nó được lưu trữ /usr/bin/gitchứ không phải /usr/local/bin/git, bởi vì sau này không tồn tại khi shell của bạn bắt đầu. Chạy hash -rtrong Bash từ thiết bị đầu cuối hiện tại của bạn sẽ xóa bộ đệm này, sau đó phiên bản đầu tiên được tìm thấy $PATHphải là bộ thực thi.


hash -rlàm việc cho tôi
bánh răng kim loại rắn

5

Tôi đã có cùng một vấn đề. Đây là giải pháp của tôi.

brew uninstall git
# make sure everything is alright, maybe brew will give you some hint
brew doctor
brew update  
brew install git
# magic happen, brew will give you hint /usr/bin occurs before /usr/local/bin
# and recommend you run following command
brew doctor
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

Sau đó, bạn đã hoàn tất, tuy nhiên bạn không thể thấy bất kỳ thay đổi nào khi bạn chạy git --version. Chỉ cần đăng xuất và đăng nhập lại, chạy git --versionlại.


7
Mở một cửa sổ Terminal mới là đủ. Ngoài ra, người ta cũng có thể gọi source ~/.bash_profile.
Daniel B

Các bước này chính xác là những gì tôi cần và chúng đã giúp tôi thiết lập hệ thống của mình bằng phiên bản git mới nhất. Tôi cũng phát hiện ra một bản sao khác của git mà tôi đã tải xuống từ git-scm.com, vì vậy tôi đã chạy tập lệnh Uninstall.sh để xóa tập lệnh đó. Bây giờ tôi ổn cả, cảm ơn Fang và Jens!
Michael Sheaver

Cảm ơn các bước. Đối với tôi, tôi đã tự động có thể sử dụng git --version mà không cần chạy lệnh echo cuối cùng.
Michael Fulton


-1

Vấn đề của tôi là tôi đã cài đặt ứng dụng Mac GitHub. /usr/local/bin/gitđã chỉ vào phiên bản git của ứng dụng, không phải phiên bản Homebrew. Gỡ cài đặt ứng dụng GitHub đã khắc phục sự cố cho tôi.


-1

Khi sử dụng homebrew để cập nhật git trên máy của bạn, hãy làm theo các bước sau:

brew doctor

Khắc phục sự cố được đề xuất

brew update nếu có phiên bản mới hơn của homebrew

brew install git để tải xuống và cài đặt phiên bản mới nhất của git

chạy brew doctorsẽ cho bạn biết rằng

Cảnh báo : Bạn có thùng không liên kết trong Hầm của bạn

thực thi brew link gitsẽ dẫn đến lỗi

Lỗi: Không thể symlink bin / git

Target / usr / local / bin / git đã tồn tại. Bạn có thể muốn xóa nó:

rm '/ usr / local / bin / git'

brew link --overwrite git để ghi đè lên symlink và trỏ đến git brew đã cài đặt.


-1

Mở thiết bị đầu cuối của bạn. Nhập lệnh này.

sudo nano /etc/paths

Sau đó sao chép đường dẫn sau vào đầu tệp.

/usr/local/git/bin

Nhấn control + X và lưu lại.

Kiểm tra git --version

Làm việc cho tôi.


Không có tập tin như vậy git/bin. Ý bạn là bin/gitsao Ngoài ra, không cần thêm điều này vào đường dẫn của bạn - /usr/local/binđã có trong đó.
slhck
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.