सिस्टम संस्करण पर (/ usr / बिन /) पर git का होमब्रेव इंस्टॉलेशन पूर्वता नहीं लेगा


10

OS X (या Xcode) git 1.7.something के साथ बंडल में आता है, लेकिन brew install git(1.8.0) के बाद , which gitपुराने को लौटाता रहता है /usr/bin/git

जब मुझे $ PATH की प्रतिध्वनि मिलती है तो यही मुझे मिलता है:

/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin

Homebrew सामान पूर्वता नहीं लेना चाहिए?

इसके अलावा, मुझे नहीं पता कि usr/local/git/binअंत में कहां से आता है।


क्या आपने सत्यापित किया है कि git वास्तव में / usr / स्थानीय / बिन में है?
जो बैन

हां। ls /usr/local/binशो gitहै। ब्रू भी पुष्टि करता है कि यह स्थापित है। मैंने git अनइंस्टालर भी चलाए ( brew uninstallआधिकारिक git डाउनलोड के साथ आने वाले और उपयोग करने वाले दोनों ) और रीडिड brew install git। मैं मिलता रहा which git = = /usr/bin/git"
o_o_o--

2
which -a gitयह देखने के लिए दौड़ें कि क्या यह बिल्कुल मिल रहा है।
जो बैन

जवाबों:


7

समझ गया। जवाब आपके सवाल में है; काढ़ा git को स्थापित करता है /usr/local/git/bin(नहीं /usr/local/bin) लेकिन जब से /usr/binआपके रास्ते में है, आपको वह पहले मिल जाएगा। which -a gitइस दिशा में मेरी टिप्पणी आपको इंगित करनी चाहिए थी।


1
भागो ls -l /usr/local/bin/gitभी। मुझे यकीन है कि यह एक प्रतीकात्मक कड़ी है /usr/bin/git
जो बैन

ओह, और /usr/local/git/binऐसा प्रतीत होता है जहां आधिकारिक इंस्टॉलर इसे भी डालता है।
जो बैन

आपको /etc/pathsऔर /etc/paths.dसाथ ही देखना चाहिए ।
जो बैन

1
यहाँ घटनाओं का एक दिलचस्प मोड़ है: which -a gitरिटर्न /usr/local/bin/git; /usr/bin/git; /usr/local/bin/git। इसलिए मैंने पुराने गिट का नाम बदल दिया usr/bin/git_oldऔर इसे रास्ते से हटा दिया । अब git --version1.8 लौटाता है, जो साबित करता है कि काढ़ा सफलतापूर्वक गिट स्थापित करता है। - फिर, मैंने इसका /usr/bin/gitमूल नाम बदल दिया ... और अचानक यह ठीक से काम कर रहा है! मुझे नहीं पता कि क्यों या कैसे, लेकिन नाम बदलने /usr/bin/gitऔर चलाने के लिए एक बार समस्या हल हो गई है। कौन जानता है कि समस्या की जड़ क्या थी। वैसे भी धन्यवाद :)
o_o_o--

अजीब है कि। खुशी है कि आप कम से कम अभी और ऊपर चल रहे हैं।
जो बैन

3

मुझे भी इस मुद्दे का सामना करना पड़ा।

होमब्रे के माध्यम से गिट स्थापित करने के बाद, यदि आप चलाते हैं brew doctorतो यह आपको चेतावनी देगा कि, जैसा कि ऊपर उल्लेख किया गया है, सिस्टम पुराने गिट को चला रहा है क्योंकि इसका स्थापित स्थान पहले आता है।

लेकिन, एक ही चेतावनी में, homebrew इसे ठीक करने के लिए कोड देता है:

$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

0

यह मेरी यूनिक्स आदतों का हिस्सा ~/binरहा है जिसमें एक निर्देशिका थी जिसे मैंने अपनी शुरुआत में रखा था PATH। यह मेरे पहले बिट्स में से एक है .bashrc:

case ":$PATH:" in
  *:$HOME/bin:*) ;;     # do nothing if $PATH already contains $HOME/bin
  *) PATH=$HOME/bin:$PATH ;;  # in every other case, add it to the front
esac

उस जगह के साथ, फिर चुनिंदा रूप से सिर्फ होमब्रेव-प्रबंधित gitप्रणाली संस्करण ( प्रत्येक होमब्रेव-बाइनरी के बजाय ) पर वरीयता लेती है , और सिर्फ आपके शेल सत्रों के लिए ( सभी कार्यक्रमों के बजाय जीयूआई कार्यक्रमों सहित, कहीं से भी शुरू किया जाता है), इसे सरल करने के रूप में सरल:

ln -s /usr/local/bin/git ~/bin/git
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.