যেহেতু আমি এটি বুঝতে পেরেছি, brewকোনও /usr/local/binআপেল এক্সিকিউটেবল বিতরিত এ সংঘর্ষে (একই নাম রয়েছে) কিছুই রাখবে না। অতএব, /usr/local/binআগে পথে থাকা /binএবং /usr/binকোনও সমস্যা হওয়া উচিত নয়, কারণ কোনও নাম সংঘর্ষ হওয়া উচিত নয়। * তবে, নীচে নীচে এবং ( এবং ম্যাকপোর্টস) এর মতো অন্যান্য প্যাকেজ অ্যাগ্রিগেটরগুলি সহ lsএবং এর সাথে সমস্যাগুলি দেখুন।tarfinkport
Brew নামগুলির সংঘর্ষগুলি পরিচালনা করতে সহায়তা করে এমন দুটি জিনিসের মধ্যে আমি জানি:
Brewভোজনে লিঙ্কযুক্ত চাবি ছেড়ে। স্টাফ ইনস্টল করার জন্য, ব্রিউগুলি যেখানে রয়েছে সেগুলি সরঞ্জামগুলি ছেড়ে যায় এবং সেই সরঞ্জামগুলিতে প্রতীকী লিঙ্ক তৈরি করে /usr/local/bin। যে সরঞ্জামগুলির brewসাথে নামের সংঘর্ষ চান না তাদের জন্য এটি প্রতীকী লিঙ্ক তৈরি করে না।
- অনেকের কাছে যদি না থাকে তবে সমস্ত স্ট্যান্ডার্ড টুলস যা সেগুলিতেও রয়েছে
/binএবং /usr/bin, "g" brewএর /usr/local/binসাথে লিঙ্কটিকে উপসর্গ করে , উদাহরণস্বরূপ, lsএকটি বারু সংস্করণ সহ একটি সম্পাদন করতে , ব্যবহার করুন gls। কেবলমাত্র একটি কি ls -lমধ্যে /usr/local/binএবং লিঙ্ক ফাইল সন্ধান - যারা বেশী brewসেখানে রেখেছেন। দ্রষ্টব্য: brewইনস্টল করা সরঞ্জামগুলি যেগুলি তাদের আসল নামগুলি দ্বারা অ্যাক্সেস করতে হবে সেগুলি পাওয়া যায় /usr/local/Cellar/coreutils/8.21/libexec/gnubin।
আমি /usr/local/binদুটি কারণে আমার পথে রাখি না - কারণগুলি আমার উত্তরের নীচে রয়েছে।
আপনার সিস্টেমে নামের সংঘর্ষগুলি মূল্যায়ন করতে, brew doctorএই বিভাগটি ব্যবহার করুন এবং দেখুন - এখানে brew doctorআগ্রহের আউটপুট:
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:
ctags
emacs
emacsclient
etags
ex
git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
rview
rvim
view
vim
vimdiff
vimtutor
xxd
Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
আমি brewপ্রথমে সরঞ্জামগুলি না রাখার কারণটি, বাস্তবে মোটেও নয়, কারণ brewইনস্টলড lsএবং tarকমান্ডগুলি ফাইল সিস্টেমের এসিএল সঠিকভাবে পরিচালনা করে না, আসলে, গতবার আমি যাচাই করেছি (যা গত সপ্তাহে ছিল), তারা ছিল না ' টি মোটেও সামলানো । এটি একটি বিগ সমস্যা এবং এটি সম্পূর্ণরূপে এড়াতে, যুক্ত manপৃষ্ঠা কনফিগারেশন ইস্যুটি সহ $PATHসঠিক সেট করার পাশাপাশি ট্যাগগুলি রাখার জন্য, আমি নিশ্চিত হয়েছি যে আমি OSXসম্পর্কিত সরঞ্জামগুলি রেখেছি , বিশেষত যা পাওয়া গেছে /binএবং /usr/binপ্রথমে put
আমি /usr/local/binআমার পথেও একেবারে না রাখার আরেকটি কারণ হ'ল brewঅন্যদের সাথে ভাল খেলছে না এবং finkএবং port(ম্যাকপোর্টস) বর্তমানে আরও বেশি সমর্থিত প্যাকেজ রয়েছে যা আমার এখনই প্রয়োজন । উদাহরণস্বরূপ, আমি gnome-terminalসাথে পেতে পারি fink, তবে এটি একটি সূত্র তৈরি এবং এর সাথে এটি করার একটি বড় প্রচেষ্টা হবে brew। সুতরাং, আমি রাখি /swএবং /optআমার অনুসন্ধানে $PATH( যথাক্রমে finkএবং portযথাক্রমে) এবং আমার কাছে প্রয়োজনীয় জিনিসগুলি উল্লেখ করা হয় /usr/local/bin, যার মধ্যে gnatবানান অন্তর্ভুক্ত থাকে, বা আমি ব্যবহার bash aliasকরি, বা আমি কোড setupলেখার সময় সম্পূর্ণ ভিন্ন পরিবেশের জন্য একটি ফাইল উত্স করি Ada।
জিনিসটি হ'ল, এটি সত্যিকার অর্থে আপনি যা চান এবং সেই সময়ে কী প্রয়োজন তা নির্ভর করে।
আমি উপরে উল্লিখিত এসিএল সমস্যার উদাহরণ এখানে দিয়েছি।
মানক OSXসরঞ্জাম সহ:
$ /bin/ls -le /var/root | head -7
total 24
drwx------+ 3 root wheel 102 May 28 2013 Desktop
0: group:everyone deny delete
1: user:_spotlight inherited allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit
drwx------+ 6 root wheel 204 Sep 19 14:22 Documents
0: group:everyone deny delete
1: user:_spotlight inherited allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit
এবং brewইনস্টল করা সরঞ্জাম সহ:
$ /usr/local/bin/gls -le /var/root
/usr/local/bin/gls: invalid option -- 'e'
Try '/usr/local/bin/gls --help' for more information.
এবং
$ /usr/local/bin/gls --help | grep -i acl
আপনি একইরকম ফলাফল পাবেন tarএবং আমি বাড়ী অন্যান্য অনেক brewসরঞ্জাম জানি না , তবে ACLসমস্যার কারনে 6 মাস রাস্তায় কিছু বিরতি পাওয়ার সামর্থ্য কে আছে !