Homebrew kullanarak git'in en yeni sürümünü (1.8.3) yükledim ama yazarken
git --version
terminalimde yazdırıyor:
git version 1.7.10.2 (Apple Git-33)
Git'in eski sürümünü yenisiyle değiştirmek için ne yapmalıyım?
Homebrew kullanarak git'in en yeni sürümünü (1.8.3) yükledim ama yazarken
git --version
terminalimde yazdırıyor:
git version 1.7.10.2 (Apple Git-33)
Git'in eski sürümünü yenisiyle değiştirmek için ne yapmalıyım?
Yanıtlar:
Yararlı cevaplar için herkese teşekkürler. Benim durumumda ekleme
export PATH="/usr/local/bin:${PATH}"
içerisinde ~/.bash_profile
, ardından
source ~/.bash_profile
benim kullanıcı için sorunu çözdü.
/usr/local/bin
yukarıda /usr/bin
yer /etc/paths
.
brew doctor
sorunu teşhis etmeye çalışırken Homebrew tarafından önerilen çözümdür
/etc/paths
. Yalnızca "ihracat" ı tanımlamak yeterli olmayabilir, eğer ( /usr/bin
" /usr/local/bin
demlemek " den "öncelik" e
Tamam, scm konusunda ciddi olmaya hazırım.
$ git --version
git version 1.9.5 (Apple Git-50.3)
Hayır, istediğim bu değildi. Ben <3 homebrew, yani:
$ brew install git
Hepsi hazır mı?
$ git --version
git version 1.9.5 (Apple Git-50.3)
Doh! (çizik baş)
$ which git
/usr/bin/git
Ah, Apple'ın git / usr / bin, bu yüzden homebrew birini geçiyor. Ne yapalım?
(A) Sadece Apple'ın ikilisini yeniden adlandır
(B) Homebrew tarafından yönetilen birinin öncelik kazanmasına izin verin:
[PATH dışa aktarma örneğini düzenleyin, örneğin ~ / .zshrc (oh-my-zsh + iTerm2 FTW! / tanjant)]
[özellikle: / usr / yerel / bin / git hareket et: önce / usr / bin:]
... ve / veya (örneğin, homebrew sayfalarının trump sisteminin kurmasına izin vermek ve önceliğin tüm kabuklara ve kullanıcılara uygulanmasını sağlamak için) ayrıca / etc / paths dosyasını, [moving / usr / local / bin / / usr / bin 'in üzerinde düzenleyin. ]
Ancak, en basit / en az invaziv yaklaşımı varsayarsak:
$ sudo mv /usr/bin/git /usr/bin/git-apple
İşe yaradı mı?
$ which git
/usr/local/bin/git
Şimdilik çok iyi, şimdi gerçek anı:
$ git --version
git version 2.2.1
w00t! :) Gitme zamanı http://git-scm.com ! :)
which git
İşaret ederken bile /usr/local/bin/git
, bu benim için işe yaramadı. Bunu çözmek için GitHub Mac uygulamasını kaldırmak zorunda kaldım.
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
Burada birkaç cevapta bahsedilen tüm numaralar en son Homebrew ile macOS Sierra & Mojave'da artık gerekli değildir. Unut export PATH="..."
ve değiştir ~/.bash_profile
.
Sen sadece yap
brew install git
ve senin yaptığın.
Onaylamak için yeni (!) Bir terminal penceresi açın ve
git --version
brew link --overwrite git
benim için çalıştı
En son git'i brew ( brew install git
) ile yükledikten sonra , brew doctor
zaten bulunmuyorsa , bu tek astarı (önerildiği gibi) çalıştırın :
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Sonra Terminal a'dan çıkıp tekrar açın (bash oturumunuzu yeniden başlatın). ZHH'niz zaten doğru olsa bile, ZSH ve Bash PATH'in içeriğini önbelleğe aldığından bunu yapmanız gerekir (yerleşik komuttaki belgelere bakın hash
).
Bu işleri çok hızlı düzeltmeli.
Ne zaman yaz
git --version
Terminal.app veya konsolda, başka bir soruya yorumunuz, döndürdüğü sürümün / usr / bin / git içindeki git olduğunu belirtir.
Xcode 4.5'i (ve daha yenisini) yüklediyseniz ve
xcrun git --version
Terminal.app veya konsolunda, döndürdüğü sürüm, Xcode uygulama paketindeki git'dir.
Git'i yüklemek ve güncellemek için Homebrew kullanıyorsanız, en basit çözüm
orijinal konumunu yeniden adlandırıp mv kullanarak yeniden adlandırın. Örneğin
sudo mv / usr / bin / git / usr / bin / git-ORİJİNAL
Homebrew ile kurduğunuz git ikili dosyasına 'ln -s' kullanarak yumuşak bir bağlantı oluşturun.
MattDMo'nun yorumlarda daha iyi bir çözüm olduğunu unutmayın.
/usr/bin
, çünkü bilmediğiniz diğer programların belirli bir sürümle ilgili vagonlara bağlı olması mümkündür. En kolay çözüm, hiçbir şey hareket ettirmeden, eklemektir /usr/local/bin
sizin için $PATH
önce ortam değişkeni /usr/bin
- IIRC, homebrewleri için yükler/usr/local/bin
Orijinal git'i apple ile yeniden adlandırmanız gerekir, /usr/bin/
çünkü /usr/bin
normalde /usr/local/bin
demleme işinin bulunduğu yol dizininde olduğundan , örneğin git-org .
Yani:
cd /usr/bin
sudo mv git git-org
demlemek git bağlamayı unutmayın
brew link git
Bu /usr/local/bin
, $PATH
ortam değişkeninizde olduğunu varsayar . Hala problem varsa kaçmayı dene
brew doctor
ve burada belirtilen sorunları düzeltin.
/usr/local/bin
$PATH
/usr/bin
Git brew ile çalıştırın, çalıştırın.
brew link --force git
Kapatmak ve çalıştırmak için terminali tekrar açın which git
.
brew link --overwrite git
çalıştı
Git'i doğrudan git-scm.com adresinden yüklüyorsanız ve git'in elma (eski) sürümü yerine en son indirilen git'i kullanmak istiyorsunuz.
/usr/local/bin/git
git --version
Apple'ın git eski sürümünü döndürürse deneyin.cd ~
(dizini giriş dizininize değiştirin)vi .bashrc
i
(vi editörüne metin eklemek için)export PATH.......
, dışa aktarmanın en üstündeki enter tuşuna basın ve aşağıdakini yazın: export PATH=/usr/local/:$PATH
( PATH
Değişkene çok dikkat edin, aksi takdirde karışıklığa neden olmaz, işletim sisteminiz için sorunlara neden olur) (umarım yeni git yüklü olmalıdır /usr/local/git
):wq
( .bashrc
dosyayı kaydetmek için )git --version
(yeni sürümü görmelisin)Gitinin nereden geldiğine bağlı. Xcode, belki de yolunuzda açık olan bir sürüm getiriyor.
Belki yazarak
which git
eskisi nerede olduğunu göstereceğim.
/usr/bin/git
...
Gcc kullanarak derlemeyi içeren OSX'te Homebrew kullanarak bir şey yükseltmek için, güncellenmiş Komut Satırı Araçlarını Xcode'dan aldığınızdan emin olun - evet, bir uygulamanın tercihlerinde sistem genelinde bir aracı gizlemek zorunda kaldığını biliyorum.
brew doctor
Diğer tüm engelleri çalıştır ve düzeltbrew upgrade
Tüm paketleri aynı anda yükseltmek için çalıştırın