আমি উভয় দিয়ে একটি প্যাকেজ ইনস্টল করার জন্য নির্দেশাবলী দেখতে পাচ্ছি
npm install <package_name>
বা
npm install <package_name> --save
বা
npm install <package_name> --save-dev
এই বিকল্পগুলির মধ্যে পার্থক্য কী?
উত্তর:
npm install <package_name> --save
প্যাকেজটি ইনস্টল করে এবং আপনার প্যাকেজ.জসনে নির্ভরতা আপডেট করে। যেহেতু এই প্রশ্নটি জিজ্ঞাসা করা হয়েছিল এনপিএম-তে পরিবর্তন হয়েছিল, --save
এটি ডিফল্ট বিকল্প হিসাবে পরিণত হয়েছে, সুতরাং --save
নির্ভরতা আপডেট করার জন্য আপনাকে ব্যবহার করার দরকার নেই ।
npm install <package_name> --no_save
প্যাকেজটি ইনস্টল করে তবে প্যাকেজ.জসনে উল্লিখিত নির্ভরতাগুলি আপডেট করে না।
npm install <package_name> ---save-dev
devDependencies
আপনার প্যাকেজ আপডেট । এগুলি কেবল স্থানীয় পরীক্ষা এবং উন্নয়নের জন্য ব্যবহৃত হয়।
আপনি https://docs.npmjs.com/getting-started/using-a-package.json এ আরও পড়তে পারেন ।
এনপিএম ইনস্টল করতে 3 টি একচেটিয়া, alচ্ছিক পতাকা লাগে যা আপনার মূল প্যাকেজ.জসনে প্যাকেজ সংস্করণটি সংরক্ষণ বা আপডেট করে:
-S, --save
: প্যাকেজ আপনার নির্ভরতা উপস্থিত হবে।
-D, --save-dev
: প্যাকেজটি আপনার ডিভিনিডেন্সে উপস্থিত হবে।
-O, --save-optional
: প্যাকেজটি আপনার Dচ্ছিক নির্ভরতাগুলিতে উপস্থিত হবে।
আপনার প্যাকেজ.জসনের উপর নির্ভরতা বাঁচাতে উপরের যে কোনও বিকল্প ব্যবহার করার সময়, একটি অতিরিক্ত, alচ্ছিক পতাকা রয়েছে:
-E, --save-exact
: সংরক্ষিত নির্ভরতাগুলি এনএমপি'র ডিফল্ট সেমভার রেঞ্জ অপারেটর ব্যবহার না করে সঠিক সংস্করণ দিয়ে কনফিগার করা হবে। তদুপরি, আপনার যদি একটি এনপিএম-সঙ্কিঙ্ক্র্যাপ.জসন থাকে তবে এটিও আপডেট হবে।
<scope>
alচ্ছিক। প্যাকেজটি নির্দিষ্ট ক্ষেত্রের সাথে সম্পর্কিত রেজিস্ট্রি থেকে ডাউনলোড করা হবে। যদি কোনও রেজিস্ট্রি প্রদত্ত সুযোগের সাথে যুক্ত না হয় তবে ডিফল্ট রেজিস্ট্রি ধরে নেওয়া হয়। এনপিএম-স্কোপ দেখুন।
দ্রষ্টব্য: আপনি যদি নিজের স্কোপ নামের @-সিম্বল অন্তর্ভুক্ত না করেন, এনপিএম পরিবর্তে এটি একটি গিটহাব সংগ্রহস্থল হিসাবে ব্যাখ্যা করবে, নীচে দেখুন। স্কোপের নামগুলি অবশ্যই একটি স্ল্যাশ অনুসরণ করা উচিত।
উদাহরণ:
npm install sax --save
npm install githubname/reponame
npm install @myorg/privatepackage
npm install node-tap --save-dev
npm install dtrace-provider --save-optional
npm install readable-stream --save --save-exact
দ্রষ্টব্য: যদি <name>
বর্তমান ওয়ার্কিং ডিরেক্টরিতে কোনও ফাইল বা ফোল্ডার নাম দেওয়া থাকে , তবে এটি ইনস্টল করার চেষ্টা করবে এবং প্যাকেজটি বৈধ না হলে কেবল নাম অনুসারে আনার চেষ্টা করবে।
(অফিসিয়াল ডক্স থেকে) https://docs.npmjs.com/cli/install
--save
বিকল্প এখনও কাজে মনে হচ্ছে এটি আর প্রয়োজন বোধ করা হয় - প্যাকেজগুলি এখন নির্ভরতা এ সঞ্চিত হয় ডিফল্টরূপে । যুক্তিটি এখন বিপরীত - আপনি যদি আপনার প্যাকেজটি সংরক্ষণ করতে না চান তবে আপনাকে উল্লেখ করতে হবে--no-save
--save
পতাকা আর একটি উদ্দেশ্য কাজ করে।
পূর্বে, অন্যান্য উত্তরগুলির হিসাবে উল্লেখ করা হয়েছে, --save
পতাকাটি প্রকল্পের package.json
ফাইলে নির্ভরতা আপডেট করবে তবে npm install
এখন ডিফল্টরূপে এই কার্যকারিতাটি অন্তর্ভুক্ত রয়েছে।
এই মুহুর্তে আপনি যদি npm install
নির্ভরতা সংরক্ষণ থেকে বাঁচতে চান তবে আপনাকে --no-save
পতাকাটি ব্যবহার করতে হবে ।
Coruscate5 তাদের মন্তব্যে এটি উল্লেখ করার জন্য ধন্যবাদ ।
এনপিএম-ইনস্টল ডকুমেন্টেশনে আরও তথ্য :
এনপিএম ইনস্টল কোনও নির্দিষ্ট প্যাকেজগুলি ডিফল্টরূপে নির্ভরতার মধ্যে সংরক্ষণ করে। অতিরিক্তভাবে, কিছু অতিরিক্ত পতাকা দিয়ে তারা কোথায় এবং কীভাবে সংরক্ষণ হবে তা আপনি নিয়ন্ত্রণ করতে পারেন:
-পি, - সেভ-প্রোড: আপনার নির্ভরতাগুলিতে প্যাকেজ উপস্থিত হবে। -D বা -O উপস্থিত না থাকলে এটি ডিফল্ট।
-ড, - সেভ-দেব: প্যাকেজটি আপনার ডেভিনির্ভরতায় উপস্থিত হবে।
-ও, - সংরক্ষণ-alচ্ছিক: প্যাকেজটি আপনার optionচ্ছিক নির্ভরতাতে উপস্থিত হবে।
--no-save: নির্ভরতাগুলিতে সাশ্রয় রোধ করে।
আপনার প্যাকেজ.জসনের উপর নির্ভরতা বাঁচাতে উপরের যে কোনও বিকল্প ব্যবহার করার সময়, দুটি অতিরিক্ত, alচ্ছিক পতাকা রয়েছে:
-E, - সেভ-হুবহু: সংরক্ষিত নির্ভরতাগুলি এনপিএমের ডিফল্ট সেমভার রেঞ্জ অপারেটরটি ব্যবহার না করে সঠিক সংস্করণ দিয়ে কনফিগার করা হবে।
-বি, - সেভ-বান্ডিল: সংরক্ষিত নির্ভরতাগুলিও আপনার বান্ডেলডপেনডেন্সি তালিকায় যুক্ত হবে।