কখনো কখনো আপনি Mac-এ "command not found" এরর পেতে পারেন Terminal উইন্ডোতে কমান্ড এক্সিকিউট করার সময়।
Apple macOS Catalina-এ ডিফল্ট শেল bash থেকে zsh-এ চেঞ্জ করলেন, তাই macOS Catalina বা পরবর্তী ভার্সন রান করে থাকলে আপনি কিছু এইরকম মেসেজ দেখতে পাবেন "zsh: command not found: brew"। কিন্তু macOS Mojave বা পুরনো ভার্সন রান করলে "bash: brew: command not found." এরর দেখাবে।
Terminal "command not found" বললে এর মানে হলো আপনি যে কমান্ড দিয়েছেন সেটি আপনার সার্চ পাথে নেই। এটি বেশ কিছু কারণেই হতে পারে যা আমরা পরবর্তীতে ব্যাখ্যা করব।
Mac-এ "command not found" এরর ফিক্স:
- ১. Mac-র Terminal-এ 'command not found' এরর কেন পপ আপ হয়?
- ২. Mac command not found এরর কীভাবে ফিক্স করবেন?
Mac-র Terminal-এ 'command not found' এরর কেন পপ আপ হয়?
আপনি Mac command not found এরর পাবেন যখন নিচের যেকোনো একটা ঘটে:
- কমান্ডটি ভুলভাবে লিখা হয়েছে।
- কমান্ডটি আপনার Mac-এ ইনস্টলড নেই।
- কমান্ডটি অকস্মাত ডিলিট হয়েছে অথবা সিস্টেম ডিরেক্টরি মডিফাইড বা ডিলিট হয়েছে।
- কমান্ড সার্চ করার জন্য ডিরেক্টরি সপেসিফাই করে $PATH অসম্পূর্ণ, ভুলভাবে সেট, বা ক্লিয়ারড।
কারণ যেকোনো হোক, নিচের জেনারেল গাইড ফলো করে Mac-এ "command not found" এরর ফিক্স করুন।
Mac command not found এরর কীভাবে ফিক্স করবেন?
"command not found" এরর Mac-এ বিভিন্ন কেস হতে পারে। আপনি "zsh: command not found" মেসেজ পেতে পারেন Mac Monterey বা zsh ব্যবহার করা যেকোনো macOS ভার্সনে। ইস্যু যেকোনো কমান্ডের সাথে হতে পারে। কিছু কমন রিপোর্টেড এরর মেসেজ:
- zsh: command not found: $
- zsh: command not found: ls
- zsh: command not found: brew
- zsh: command not found: import
- bash: brew: command not found
- -bash: $: command not found
- sudo: command not found
- sudo: nano: command not found
সৌভাগ্যవশত, এই এররগুলো সাধারণত নিচের সমাধানগুলো দিয়ে সমাধান হয়। একটা একটা করে ট্রাই করুন কমান্ড সফলভাবে এক্সিকিউট হওয়া পর্যন্ত।
- ফিক্স ১: কমান্ডের সিনট্যাক্স চেক করুন
- ফিক্স ২: $PATH কে ডিফল্ট macOS পাথে সেট করুন
- ফিক্স ৩: আপনার ডিরেক্টরি PATH-এ অ্যাড করুন
- ফিক্স ৪: macOS রি-ইনস্টল করুন বা Time Machine থেকে রিস্টোর করুন
কমান্ডের সিনট্যাক্স চেক করুন
কমান্ডের সাথে অনফামিলিয়ার ইউজাররা প্রায়ই মিস্টেক করেন যেমন স্পেস না দেয়া যেখানে দরকার, অথবা অপ্রয়োজনীয় সিম্বল কমান্ডে যোগ করা। উদাহরণস্বরূপ, আপনি sudo nano/private/etc/hosts লিখতে পারেন Host ফাইল Nano-তে এডিট করার জন্য, কিন্তু সঠিক সিনট্যাক্সে nano-র পর একটি স্পেস থাকবে, যেটি হওয়া উচিত sudo nano /private/etc/hosts।
অথবা আপনি $ brew install pyqt লাইন কপি-পেস্ট করতে পারেন Terminal-এ, যা শুধু এরর রিটার্ন করবে: "-bash: $: command not found" Mac-এ। কারণ $ শুধু ডকুমেন্টেশনে একটি স্যাম্পল Terminal প্রম্পট যা কমান্ডে থাকতে হবে না।
তাই Terminal-এ "command not found" এরর পেলে প্রথমে কমান্ডের সিনট্যাক্স চেক করুন। আসল টেক্সট Terminal-এ কপি করা 베स्ट, নিজে টাইপ করার বদলে। বরং, একই কমান্ড ব্যবহার করে অন্যান্য উদাহরণের সাথে আপনার কমান্ড কম্পেয়ার করাও সাহায্য করবে।
$PATH কে ডিফল্ট macOS পাথে সেট করুন
একটি পাথ নির্দেশ করে ফাইল সিস্টেমে একটি নির্দিষ্ট লোকেশন। একইভাবে, Terminal কমান্ডের জন্য PATH সিস্টেম ভেরিয়েবল ($PATH) নির্দেশ করে বেশ কিছু ডিরেক্টরি যেখানে এক্সিকিউটেবল প্রোগ্রামগুলো থাকে। $PATH-র সাথে আপনার Mac জানে কমান্ড এক্সিকিউট করার জন্য কোথায় সার্চ করতে হবে, তাই আপনাকে কমান্ডের অ্যাবসোলিউট পাথ না দিয়ে শুধু নাম দিয়ে কাজ চালাতে পারেন যেমন ls।
তবে যদি আপনি যে কমান্ড এক্সিকিউট করতে চান সেটির পাথ সেট না থাকে, তবে Mac-এ "command not found" এরর পাবেন, যেমন "zsh: command not found" বা "zsh: command not found ls"।
så কেসে, আপনাকে প্রথমে নিশ্চিত করতে হবে $PATH যেখানে কমান্ডগুলো থাকে সেটি নিচের ধাপে কনফিগার করা হয়েছে:
- Terminal খুলুন।
- নিচের কমান্ড এক্সিকিউট করুন macOS কমান্ড লাইনে ব্যবহার করা স্ট্যান্ডার্ড পাথ সেট করতে: export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

- আপনার পাসওয়ার্ড টাইপ করে Enter চাপুন।
আপনি যেই কমান্ড আগে ফেল করেছিলেন সেটি আবার রান করে দেখুন "zsh: command not found" এরর macOS Monterey-এ রিকার occurr করছে কিনা। ইস্যু পায় থাকলে পরবর্তী ফিক্সে যান।
আপনার ডিরেক্টরি PATH-এ অ্যাড করুন
"zsh: command not found" M1 Mac-এ হওয়ার আরেকটি ইস্যু হলো আপনি যে কমান্ড দিয়েছেন সেটি ডিফল্ট $PATH-এ সেভড নেই। বর্তমান ডিফল্ট $PATH চেক করতে Terminal-এ নিচের কমান্ড এক্সিকিউট করুন: echo $PATH

কমান্ডটি সম্ভবত ডিফল্ট $PATH দেবে: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin, যা পাঁচটি ডিরেক্টরি যা Mac কমান্ড লাইনে ব্যবহার করে।
- usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
আপনি যে কমান্ড ব্যবহার করছেন সেটি ডিফল্ট موارد বাদে অন্য ডিরেক্টরিতে স্টোরড থাকলে, নিচের ধাপ ফলো করে $PATH-এ অ্যাড করুন। উদাহরণস্বরূপ, আপনি "zsh: command not found: brew" এরর পেলেন Mac-এ এবং লক্ষ্য করলেন আপনার Homebrew স্টোরড আছে /opt/homebrew/bin-এ, রেগুলার /usr/local/-এ নয়। সেটি ফিক্স করতে নিচের সমাধান ফলো করুন:
- Terminal লঞ্চ করুন।
- নিচের কমান্ড এক্সিকিউট করুন নতুন ডিরেক্টরি (যেমন /opt/homebrew/bin) 임시ভাবে $PATH-এ অ্যাড করতে: export PATH=$PATH:/opt/homebrew/bin
- echo কমান্ড দিয়ে চেক করুন নতুন ডিরেক্টরি অ্যাড হয়েছে কিনা: echo $PATH
টেস্ট করুন আপনি যে কমান্ড ব্যবহার করতে চান সেটি এখন কাজ করছে কিনা। আপনি যদি পাথ চেঞ্জটি পারসিস্টেন্ট রাখতে চান, তবে আপনার শেল অনুযায়ী .zshrc ফাইল, .bash_profile বা .bashrc ফাইলে অ্যাড করতে হবে। ধাপগুলো:
- Terminal-এ এই কমান্ড এক্সিকিউট করুন হোম ডিরেক্টরিতে মুভ করতে: cd
- নিচের কমান্ড ব্যবহার করুন হোম ডিরেক্টরির ফাইল লিস্ট করতে এবং চেক করুন .zshrc ফাইল আছে কিনা যদি zsh রান করেন: ls -la
- যদি না থাকে, nano এডিটর ব্যবহার করে একটি তৈরি করুন এই কমান্ড দিয়ে। অন্যথায় স্টেপ ৪-এ যান: touch .zshrc
- নিচের কমান্ড রান করুন nano-তে .zshrc এডিট করতে: nano .zshrc
- নতুন ডিরেক্টরি (যেমন /opt/homebrew/bin) .zshrc-এ অ্যাড করতে এই কমান্ড এক্সিকিউট করুন: export PATH=$PATH:/opt/homebrew/bin
- Terminal বন্ধ করে আবার খুলুন।
যদি এই মেথডও কাজ না করে, "zsh: command not found" এরর আপনার M1 Mac বা Intel Mac-এ সমাধান করতে পরবর্তীটি পড়ুন।
macOS রি-ইনস্টল করুন বা Time Machine থেকে রিস্টোর করুন
আপনি যদি সিস্টেমে ঘুরে ফিরে কিছু সিস্টেম ফাইল বা ফোল্ডার ডিলিট করে থাকেন, তবে আপনি অকস্মাত Terminal কমান্ডের জন্য এসেনশিয়াল ফাইলগুলো রিমুভ করে ফেলতে পারেন। সেক্ষেত্রে আপনাকে এই সিস্টেম ফাইলগুলো রিস্টোর করতে হবে।
আপনি যদি Time Machine দিয়ে Mac ব্যাকআপ নিয়ে থাকেন, তবে প্রিভিয়াস স্টেটে রিস্টোর করতে পারেন। অন্যথায়, আপনি macOS রি-ইনস্টল করতে পারেন ড্রাইভ ফরম্যাট ছাড়া। নোট করুন, যদিও অপারেটিং সিস্টেম রি-ইনস্টল করলে ডেটা লস হওয়া উচিত নয়, তবে সাবধানির জন্য গুরুত্বপূর্ণ ফাইলগুলো কপি রাখা ভালো।