Telepítettem a git (1.8.3) legújabb verzióját homebrew használatával, de amikor gépelek
git --version
a terminálomban kiírja:
git version 1.7.10.2 (Apple Git-33)
Mit kell tennem a git régi verziójának cseréjével az új verzióval?
Megjegyzések
- Van pár jó válaszod – ezért szerettem volna kommentálni a kérdést. Kifejezett utasításokat keres a homebrew vagy a GUI kliens forrásból származó git telepítéséhez, vagy csak annak megerősítését, hogy az OS X a git több verzióját csomagolja az alapvető operációs rendszerrel? opensource.apple.com/source/Git (FWIW – A legújabb git I ‘ láttam az Apple csomagot a mai napig az 1.7.12.4., amely a Git-37-ből származik)
Válasz
Köszönöm mindenkinek a hasznos válaszokat. Esetemben hozzáadom a
export PATH="/usr/local/bin:${PATH}"
szót a ~/.bash_profile
fájlba, majd
source ~/.bash_profile
megoldotta a problémát a felhasználóm számára.
Megjegyzések
- Ha azt szeretné, hogy a változások tartósak legyenek a felhasználók között, áthelyezheti div id = “c71e5b6b67”>
/usr/bin
felett/etc/paths
.
brew doctor
futtatásával diagnosztizálja a problémát /etc/paths
. Csak az ” export meghatározása ” lehet, hogy nem lesz elég, ha a /usr/bin
” elsőbbség ” /usr/local/bin
(főzetből) fölött … source ~/.bash_profile
ezt újra elolvassa. Az újraindítás valószínűleg valószínűleg gyorsabb / könnyebb. 🙂 Válasz
Állapot 2020
Az itt szereplő összes trükk több válaszban már nem szükségesek a macOS Sierra, Mojave & Catalina webhelyeken a legújabb Homebrew-val. Felejtsd el a export PATH="..."
és módosításait a ~/.bash_profile
fájlba.
Egyszerűen megcsinálod
brew install git
és készen áll.
A megerősítéshez nyisson meg egy új terminálablakot / -lapot, és írja be a következőt:
git --version
Kérjük, ne felejtsen el megnyitni egy új ablakot. A install
kezdete előtt nyitva tartó terminálok nem öröklik semmilyen változást.
Válasz
Ok, készen állok arra, hogy komolyan foglalkozzak az scm-vel.
$ git --version git version 1.9.5 (Apple Git-50.3)
Nem, nem ezt akartam. Én < 3 házi készítésű, tehát:
$ brew install git
Minden beállítva?
$ git --version git version 1.9.5 (Apple Git-50.3)
Doh! (vakarja a fejét)
$ which git /usr/bin/git
Ó, az Apple gitje a / usr / bin fájlban található, ezért megdönti a házi készítést. Mit kell tenni?
(A) Csak nevezze át az Apple bináris fájlját.
(B) Legyen elsőbbsége a homebrew által kezeltnek:
[PATH exportálás szerkesztése pl. a ~ / .zshrc fájlban (oh-my-zsh + iTerm2 FTW! / tangens)]
[konkrétan: move / usr / local / bin / git: before / usr / bin:]
… és / vagy (pl. hogy szélesebb körben engedélyezzük a homebrew cuccok rendszerének telepítését, és hogy az elsőbbség minden héjra és felhasználóra érvényes legyen), szerkessze az / etc / paths fájlt is, usr / bin]
De csak a legegyszerűbb / legkevésbé invazív megközelítést feltételezve:
$ sudo mv /usr/bin/git /usr/bin/git-apple
Működött?
$ which git /usr/local/bin/git
Eddig nagyon jó, most az igazság pillanata:
$ git --version git version 2.2.1
w00t! 🙂 Ideje olvasni http://git-scm.com ! 🙂
Megjegyzések
- PS A / usr / bin szerkesztés kockázatával kapcsolatos megjegyzésekhez: IMHO it ‘ s NBD. (Nekem tetszik, hogy a globális nomád ‘ s javaslatot teszek ” sudo ln -s / usr / local / bin / git / usr / bin / git ” … amely biztosítja, hogy bármi, ami ” / usr / bin / git ” kifejezetten megkapja a sörkezeléssel kezeltet. De az a véleményem, hogy a git telepítése azt jelenti, hogy ‘ átveszi a git tulajdonjogát a rendszerén. Aggódik az ismeretlen folyamatok miatt egy régebbi , a git alternatív verziója rosszul állhat. Javaslom, hogy tartsa naprakészen a git / git verziókat (a biztonság, nem csak a funkciók érdekében), és saját maga kezelje. A Homebrew megkönnyíti ezt. /$0.02
- Ez nem sikerült ‘ nem nekem dolgozik, hogy visszavonjam, csak tedd: sudo mv / usr / bin / git-apple / usr / bin / git. Juan Diego Gonzales ‘ kommentje működött. (Alapvetően kövesse az elfogadott választ, majd indítsa újra a terminált).
- Még akkor is, ha
which git
a/usr/local/bin/git
-re mutat, ez nem történt meg ‘ nem nekem dolgozik. Ennek megoldásához el kellett távolítanom a GitHub Mac alkalmazást. - MacOS 10.12.5:
sudo mv /usr/bin/git /usr/bin/git-apple mv: rename /usr/bin/git to /usr/bin/git-apple: Operation not permitted
- Csak a
brew doctor
. 2020-ban ajánlotta abrew link —overwrite git
Válasz
“telepítettük a legfrissebb git-t a brew-on keresztül (brew install git
), futtassuk ezt az egyvonalasat (a brew doctor
javaslatával), ha nem” t ” már ott van:
echo "export PATH=/usr/local/bin:$PATH" >> ~/.bash_profile
Ezután lépjen ki a Terminálból és nyissa meg újra (indítsa újra a bash munkamenetet). Ezt akkor is meg kell tennie, ha a PATH már helyes volt, mivel a ZSH és a Bash gyorsítótárba helyezi a PATH tartalmát (lásd a beépített hash
parancs dokumentációját).
Ennek nagyon gyorsan meg kell oldania a dolgokat.
Megjegyzések
- Miben különbözik ez az elfogadott választól?
- esetemben nem tudtam, hogy ‘ tudnom kell, hogy újra kell indítanom a Terminált, hogy ez a rész segíthessen néhány embert. Az egy bélés miatt gyorsabb, mint az elfogadott. Ha ‘ verseny, akkor azt gondolom, hogy a válaszom nem megfelelő. Egyébként szerintem hozzájárul. (Mondja meg, ha azt akarja, hogy szerkesztést végezzek e helyett).
- Ezt a bélést akkor hajtja végre, amikor telepíti a Homebrew-t
- Ezt a választ hasznosnak találtam. A terminál újraindítása nem nyilvánvaló probléma sok olyan ember számára, aki nem ismeri a .bash_profile működését, és gyengéd emlékeztető a többiek számára.
- @JuanDiegoGonzales Kiváló megfigyelés! Pontosan arra gondoltam, hogy a git telepítése után ‘ nem tudtam, miért. A gyorsítótár tipp után egy kicsit többet kutattam: unix.stackexchange.com/q/5609/52921
Válasz
Ezt kipróbáltam, és ez nekem is megfelel.
brew link --overwrite git
megjegyzések
- nekem dolgozott a Mojave-on (10.14.4)
válasz
Amikor beírja
git --version
a Terminal.app vagy a konzolba, egy másik kérdésre adott megjegyzése jelezte annak verzióját a return a / usr / bin / git fájlban található git
Ha az Xcode 4.5 (és újabb) verziót telepítette, és írja be a következőt:
xcrun git --version
A Terminal.app vagy a konzol, az általa visszaadott verzió az Xcode alkalmazáscsomag gitje.
Ha a Homebrew-t használja a git telepítéséhez és frissítéséhez, akkor a legegyszerűbb megoldás:
- győződjön meg róla, hogy rendelkezik rendszergazdai jogosultságokkal, amikor az adminisztrátor jelszavát kéri
-
nevezze át az eredeti helyet úgy, hogy átnevezi az mv használatával. Például
sudo mv / usr / bin / git / usr / bin / git-ORIGINAL
-
az “ln -s” használatával hozzon létre egy soft linket a Homebrew-val telepített git bináris fájlhoz .
Ne feledje, hogy a MattDMo-nak jobb megoldása van a megjegyzésekben.
Megjegyzések
- Ez 100% -ban biztonságos? Megszakít bármi, ami a mac-hoz kapcsolódik?
- Ha a vázolt lépéseket követi, a megoldás nem fogja megszakítani az előtelepített programokat, mivel ezek a git futtatható fájlok nem törlődnek. Ezért a 2. lépésben át kell neveznie az eredeti / usr / bin / git pl. mint /usr/bin/git.BACKUP
- Kérem, ne tegye ezt ‘ – ezt nem kéne ‘ t vacakoljon a
/usr/bin
vel, mivel ‘ lehetséges, hogy más programokat, amelyeket nem használ, ‘ Még arról sem tudunk, hogy függenek-e az adott verzióhoz kapcsolódó szeszélyek. A legegyszerűbb megoldás, anélkül, hogy bármit is áthelyezne, az, ha/usr/local/bin
hozzáadja a$PATH
környezeti változóhoz a/usr/bin
– IIRC, a homebrew telepíti a következőt:/usr/local/bin
- Köszönöm @MattDMo, ez tűnik a legjobb megközelítésnek ebben az esetben.
Válasz
Telepítse a git-t főzéssel, futtassa ezt.
brew link --force git
Zárja be és nyissa meg újra a terminált a which git
futtatásához.
Megjegyzések
- Hogyan változtatja meg ez az alapértelmezett elérési utat?
- Ez működött abban, hogy felülírtam az xcode ‘ s git-et.
- Hiba történt a futtatáskor ez, de
brew link --overwrite git
működött
Válasz
Át kell neveznie az eredeti git az apple által az /usr/bin/
e-re. g. A git-org, mivel az /usr/bin
általában /usr/local/bin
előtt áll az Ön elérési útvonalának könyvtárában, ahol a főzési dolgok találhatók.
Tehát:
cd /usr/bin sudo mv git git-org
és ne felejtsd el összekapcsolni a főzési git
brew link git
Ez azt feltételezi, hogy A /usr/local/bin
a $PATH
környezeti változóban van.Ha továbbra is problémája van, próbálja futtatni
brew doctor
és kijavítani az ott említett problémákat.
Megjegyzések
- Ne nevezze át és ne nevezze át a / usr / bin fájlba a dolgokat, mert ez megtörheti az Apple thig-eket, és rendszerbe vagy XCode-ba történő frissítéskor felaprózódnak. használja azt az utat, amelyre tervezték,
- @ Jelölje meg, hogy van pontja. De nem hiszem, hogy gondot okozna, ha csak a / usr / bin fájlban változtatja meg a git-et. Számomra ez több hónapig működik.
- Egyetértek azzal, hogy a / usr / bin könyvtárban történő dolgok megváltoztatása általában rossz hír, de ‘ nem tudom felidézni az operációs rendszert X valójában a git-et használja, így az ártalom lehet csekély, és csak egy ” clean ” rendszerre vonatkozik, amely megegyezik a nyugtákkal. Az ártalom az OS X frissítésével helyettesítheti az új gitet egy régebbi verzióval, ennélfogva az a szokásos gyakorlat, hogy új bináris fájlt keressen a rendszer elérési útján kívül.
- Szerintem sokkal könnyebb lenne hozzáadni
/usr/local/bin
(homebrew ‘ s telepítési könyvtár, IIRC) a$PATH
címre a/usr/bin
ahelyett, hogy átneveznénk és biztonsági másolatot készítenénk stb.
Válasz
Ha a git fájlt közvetlenül a git-scm.com webhelyről telepíti, és a legújabb letöltött git programot szeretné használni a git alma (régi) verziója helyett.
- A git telepítése a git-scm fájlból .com
- Valószínűleg új git lesz telepítve a
/usr/local/bin/git
- Próbálkozzon
git --version
, ha visszaadja a git Apple régi verzióját, folytassa az alábbiakkal: -
cd ~
(a könyvtár megváltoztatása az otthoni könyvtárra) - írja be a
vi .bashrc
- Használja a
i
(szöveg beszúrása a vi szerkesztőbe) - Ha
export PATH.......
sort talál, nyomja meg az Enter billentyűt az exportálás tetején, és írja be a következőt:export PATH=/usr/local/:$PATH
(Fokozott óvatossággal hajtsa végre aPATH
változót, ne rontsa el, különben problémákat okoz az Ön operációs rendszerének) új gitet kell telepíteni a/usr/local/git
fájlba) - Nyomja meg az esc billentyűt
- Írja be az
:wq
parancsot mentse a.bashrc
fájlt) - Lépjen ki a terminálból, és indítsa el az új terminált
- Most próbálja meg a
git --version
(látnia kell az új verziót)
Válasz
Csináljon egyszerű álnevet az útvonal megváltoztatásának elkerülése érdekében:
alias git=/usr/local/bin/git
Válasz
Sok mindent kipróbáltam, beleértve ezt a bejegyzést is ” s válaszol. Végül úgy tudtam elérni, hogy a git futtatott verziója fusson az Xcode helyett, egyszerűen törölve az Xcode további eszköztárát:
sudo rm -rf /Library/Developer/CommandLineTools
Válasz
Amikor a brew install git
parancsot használja a telepítéshez, vegye figyelembe, hogy telepítette a git
alatt:
==> Summary 🍺 /usr/local/Cellar/git/2.29.2: 1,480 files, 39.7MB
kap egy hibát is, amely korábban megjelenik a naplóban, és valószínűleg hiányzott:
==> Downloading https://homebrew.bintray.com/bottles/git-2.29.2.big_sur.bottle.t Already downloaded: /Users/chadjinik/Library/Caches/Homebrew/downloads/08165d120fcebc7823c487a6778b2ea0e67fd2cd9177d6e7d656268f474ab5da--git-2.29.2.big_sur.bottle.tar.gz ==> Pouring git-2.29.2.big_sur.bottle.tar.gz Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink bin/git Target /usr/local/bin/git already exists. You may want to remove it: rm "/usr/local/bin/git" To force the link and overwrite all conflicting files: brew link --overwrite git
Csak fuss:
brew link --overwrite git
és jónak kell lenned.
Válasz
Attól függ, hogy honnan származik a git. Az Xcode például hoz egy verziót, lehet, hogy ez előre van az útjában.
Lehet, hogy beírja
which git
megmutatja, hol van a régi.
Megjegyzések
- ez ‘ s a
/usr/bin/git
… - Két telepítésnek tűnik. Azt hiszem, a normál (letölthető) git verzió a / usr / local / git / … könyvtárba megy. Ez ‘, majd kérdés, hogy ezt hozzáadják az útvonalhoz, vagy eltávolítják a másikat (vagy mindkettő)