যদি আপনার স্ক্রিপ্টটি নোড বিকাশকারীদের ব্যবহারের উদ্দেশ্যে করা হয় তবে আপনার অবশ্যই একেবারে ব্যবহার করা উচিত
#!/usr/bin/env node
এবং কেবলমাত্র নোড হিসাবে ইনস্টল থাকা ব্যক্তিদের সাথে সামঞ্জস্যের চেষ্টা করার বিরক্ত করবেন না nodejs।
যুক্তি:
- শীতল বাচ্চারা এটিই করছে এবং আপনি যদি এটিও না করেন তবে আপনি শীতল নন। মত মেজর নোড প্রকল্প jshint , কর্মফল , আবাস , এবং এমনকি npm কেবল ব্যবহার
#!/usr/bin/env nodeতাদের এক্সিকিউটেবল স্ক্রিপ্টের জন্য কুঁড়েঘর হিসাবে।
- শীতল বাচ্চারা এটি করছে বলে, উবুন্টুতে নোডের সাথে যে কেউ কাজ করে সে এর জন্য
/usr/bin/nodeএকটি সিমিলিংক সেট আপ করেছে nodejs। স্ট্যাক ওভারফ্লোতে এবং সমস্ত ওয়েব জুড়ে এখানে এটি করার জন্য সর্বাধিক দেখা নির্দেশাবলী রয়েছে। এমনকি nodejs-legacyপ্যাকেজটি ছিল যার পুরো উদ্দেশ্যটি ছিল আপনার জন্য এই সিমলিংক তৈরি করা। যে সকল ব্যক্তি নোড কীভাবে ব্যবহার করে থাকি উবুন্টু এই সমস্যাটি সমাধানের জন্য জানি, আর তারা আছে যদি তারা প্রায় কাছাকাছি কি কখনো নোড লেখা কোন সফটওয়্যার ব্যবহার করতে চান।
- উবুন্টু 14.04 এ সমস্যাটির আর কোনও অস্তিত্ব মনে হয় না; আমি সবেমাত্র নোডকে শুদ্ধ করে একটি চালিয়েছি
apt-get install nodejsএবং এটিতে /usr/bin/nodeএকটি সিমিলিংক হিসাবে তৈরি হয়েছিল /etc/alternatives/node। আমি সন্দেহ করি যে এই সমস্যা দ্বারা ক্ষতিগ্রস্থ লোকেরা সংকুচিত সংখ্যালঘু।
এমনকি আপনি যদি নোড-নিরক্ষর লোকদের টার্গেট করছেন, আপনি এখনও এটি ব্যবহার করতে চাইতে পারেন #!/usr/bin/env node, সম্ভবত nodejs-legacyযদি প্রয়োজন মনে করেন তবে আপনার ইনস্টলেশন ডকুমেন্টেশনে ম্যানুয়াল সিমলিংক তৈরি বা প্যাকেজ ইনস্টলের প্রয়োজনীয় সম্ভাবনা যুক্ত করতে পারেন। মনে রাখবেন যে উপস্থিত কেউ nodejsনা nodeথাকলেও উপরের শেবাং দিয়ে আপনার প্রোগ্রামটি চালানোর চেষ্টা করে, তারা দেখতে পাবেন:
/ usr / bin / env: node: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই
এবং গুগলিং যা তাদের প্রথম ফলাফল এবং প্রথম পৃষ্ঠায় বহুবার এটিকে ঠিক করবে।
আপনি যদি সত্যই এটি নিশ্চিত করতে চান যে ব্যবহারকারী আপনার সফ্টওয়্যারটি এমন কোনও সিস্টেমে চালিত করতে পারেন যেখানে nodejsউপলভ্য আছে তবে nodeএটি নেই (বা nodeবাস্তবে অপেশাদার প্যাকেট রেডিও নোড প্রোগ্রামটি কোথায় ) তবে আপনি নেওয়া "দ্বি-লাইনের শেবাং" ব্যবহার করতে পারেন থেকে ইউনিক্স ও লিনাক্স স্ট্যাক এক্সচেঞ্জ :
#!/bin/sh
':' //; exec "$(command -v nodejs || command -v node)" "$0" "$@"
console.log('Hello world!');
নোড বিশ্বের প্রায় কেউই নেই, তবে আপনার কি সত্যিই এটি করা দরকার?