গিটের হোমব্রু ইনস্টলটি সিস্টেম সংস্করণে (প্রাধান্য / usr / বিন /) চেয়ে বেশি গ্রহণ করবে না


10

ওএস এক্স (বা এক্সকোড) 1.7 গিটের সাথে বান্ডিলযুক্ত আসে, তবে brew install git(1.8.0) পরে, পুরানোটিকে which gitফিরিয়ে দেয় /usr/bin/git

আমি এখনই প্রতিধ্বনিত হওয়ার পরে এটিই পাই $ পথ এখনই:

/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শেষ থেকে কোথা থেকে আসে তা আমার কোনও ধারণা নেই ।


আপনি কি যাচাই করেছেন যে গিটটি আসলে / ইউএসআর / স্থানীয় / বিনে আছে?
জো বেন

হাঁ। ls /usr/local/binশো gitআছে। মিশ্রণও নিশ্চিত করে যে এটি ইনস্টল রয়েছে। এমনকি আমি গিট আনইনস্টলার চালিয়েছি ( brew uninstallসরকারী গিট ডাউনলোডের সাথে আসে এমনটি ব্যবহার করে এবং উভয়ই ) এবং পুনরায় পাঠিয়েছি brew install git। আমি পেতে থাকি which git = = /usr/bin/git"
o_o_o--

2
which -a gitএটি আদৌ খুঁজে পেয়েছে কিনা তা দেখতে দৌড়াও ।
জো বেন

উত্তর:


7

বুঝেছি. উত্তরটি আপনার প্রশ্নের মধ্যে রয়েছে; ব্রিউ গিট ইনস্টল করে /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 --versionফিরে আসে 1.8, প্রমাণ করে যে ব্রিউ গিটটি সফলভাবে ইনস্টল করে। - আবারও, আমি /usr/bin/gitএর আসল নামটির নামকরণ করেছি ... এবং হঠাৎ এটি সঠিকভাবে কাজ করছে! আমি জানি না কেন বা কীভাবে, তবে নাম পরিবর্তন করা /usr/bin/gitএবং গিটটি একবার চালানো সমস্যার মনে হয়েছে। সমস্যার মূল কী ছিল কে জানে। যাইহোক ধন্যবাদ :)
o_o_o--

উদ্ভট ব্যাপার. আপনি খুশি হন এবং কমপক্ষে এখন চালাচ্ছেন lad
জো বেন

3

আমিও এই সমস্যাটির মুখোমুখি হয়েছি।

হোমব্রিউয়ের মাধ্যমে গিট ইনস্টল করার পরে, আপনি যদি চালনা করেন brew doctorতবে এটি আপনাকে সতর্ক করবে যে উপরে জো হিসাবে উল্লেখ করা হয়েছে, সিস্টেমটি পুরানো গিটটি চালাচ্ছে কারণ এর ইনস্টল করার অবস্থানটি প্রথম আসে।

তবে, একই সতর্কতায় হোমব্রিউ কোডটি ঠিক করার জন্য কোড দেয়:

$ 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সিস্টেম সংস্করণে ( প্রতিটি হোমব্রিউ-পরিচালিত বাইনারি পরিবর্তে ) এবং কেবল আপনার শেল সেশনের জন্য ( জিইউআই প্রোগ্রামগুলি সহ যে কোনও জায়গা থেকে শুরু হওয়া সমস্ত প্রোগ্রামের পরিবর্তে) অগ্রাধিকার দেওয়া হবে is এটি সিমলিংকের মতোই সহজ:

ln -s /usr/local/bin/git ~/bin/git
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.