এনপিএম ইনস্টল গ্রান্ট - সেভ-দেবের মধ্যে -Save-dev এর অর্থ কী


277

আমি সবেমাত্র গ্রান্ট.জেএস ব্যবহার শুরু করেছি । এটি সেট আপ করা বেশ শক্ত এবং আমি একটি package.jsonফাইল তৈরির পর্যায়ে আছি ।

এই টিউটোরিয়ালটি অনুসরণ করে , এটি বলছে যে package.jsonফাইল তৈরির জন্য 3 টি উপায় রয়েছে ।

প্রথমটি করণীয় npm install grunt --save-dev

কিন্তু --save-devমানে কি ? আমি দেখার চেষ্টা করেছিলাম কিন্তু এটি বৃথা যায়।


আমি মনে করি আমি কিছু উত্তর সন্ধান করতে চাই। gruntjs.com/getting-started - npmjs.org/doc/json.html#devDependencies
Vennsoh

টিউটোরিয়াল লিঙ্কটি ভাঙা
স্টিভিসি

উত্তর:


317

--save-dev: প্যাকেজটি আপনার ডিভিনিডেন্ডেন্সে উপস্থিত হবে।

এনপিএম ইনস্টল ডক্স অনুসারে ।

যদি কেউ তাদের প্রোগ্রামে আপনার মডিউলটি ডাউনলোড এবং ব্যবহার করার পরিকল্পনা করে থাকে, তবে তারা সম্ভবত আপনার ব্যবহার করা বাহ্যিক পরীক্ষা বা ডকুমেন্টেশন ফ্রেমওয়ার্কটি ডাউনলোড এবং বিল্ড করতে হবে না।

অন্য কথায়, আপনি যখন রান করবেন তখন npm installআপনার প্রকল্পের ডেভডিপেন্ডেন্সগুলি ইনস্টল হবে তবে আপনার অ্যাপ্লিকেশন নির্ভর যে কোনও প্যাকেজগুলির জন্য ডেভডিপেন্ডেন্সগুলি ইনস্টল হবে না; তদ্ব্যতীত, অন্যান্য অ্যাপ্লিকেশনগুলিকে নির্ভরতা হিসাবে আপনার অ্যাপ্লিকেশনটি থাকা আপনার ডিভডিপেন্ডেন্সগুলি ইনস্টল করার দরকার নেই। অ্যাপ্লিকেশন বিকাশ করার সময় এই জাতীয় মডিউলগুলি কেবল প্রয়োজন (যেমন গ্রান্ট, মোচা ইত্যাদি)।

প্যাকেজ.জসন ডক্স অনুসারে

সম্পাদনা করুন: কী npm installকরে তা দেখার জন্য চেষ্টা করুন :

  • yourproject
    • নির্ভরতা ইনস্টল করা হয়েছে
      • নির্ভরতা ইনস্টল করা হয়েছে
        • নির্ভরতা ইনস্টল করা হয়েছে
        • ডেভিনিউডেন্সি ইনস্টল করা নেই
      • ডেভিনিউডেন্সি ইনস্টল করা নেই
    • devD dependency ইনস্টল করা হয়েছে
      • নির্ভরতা ইনস্টল করা হয়েছে
      • ডেভিনিউডেন্সি ইনস্টল করা নেই

2
ডিফল্টরূপে এটি দেব নির্ভরতা সহ ইনস্টল করবে না তবে আমি কীভাবে তখন ইনস্টল করব? npm install --devপতাকা?
স্ট্যানলিজেং

4
@ এস্তেজহেং আপনার কী জানা দরকার তা আমি নিশ্চিত নই। আপনি যদি কোনও প্রকল্পে থাকেন এবং চালনা করেন npm installতবে প্রকল্পের ডেভডিপেন্ডেন্সগুলিও ইনস্টল করা হবে। আপনি কোনও নির্ভরতার ডেভডিপেন্ডেন্স ইনস্টল করতে চান না। আপনি যদি এনপিএম প্যাকেজে ডেভলপ করতে চান তবে আপনি git clone xxxসেই প্রকল্পটি চালিয়ে এটিকে চালিয়ে যাবেন npm install
Andreas Hultgren

3
"আপনি এনপিএম ইনস্টল চালালে আপনার অ্যাপের নির্ভরতার জন্য ডেভিনির্ভরতা ইনস্টল করা হবে না" ভুল " যদি আমার কাছে একটি প্যাকেজ.জসন থাকে এবং এটিতে আমার এনপিএম প্যাকেজগুলির সাথে কেবল "ডিভডিপেন্ডেন্সিগুলি" থাকে এবং আমি তারপরে "এনপিএম ইনস্টল" টাইপ করি, "সেই" ডেভডিপেন্ডেসি "ইনস্টল হয়ে যায়।
কোর

6
আমি বোঝার চেষ্টা করেছি এবং আমি তা করি নি। তারপরে আমি ভিজ্যুয়ালাইজেশন বুঝতে চেষ্টা করেছি এবং আমি তা করি নি। প্রতিটি বুলেট-পয়েন্ট আইটেমটির অর্থ কী? একটি ফোল্ডার? ধর্মঘট আইটেমটির অর্থ কী? অ-বিদ্যমান ডিরেক্টরি? যদি তা সত্যি হয়, আপনি কিভাবে বিস্তারিত তালিকাবদ্ধ করতে পারেন অ বিদ্যমান জিনিষ?
রাফায়েল আইং

8
npm installআপনার প্রকল্পে চালিত হলে , প্যাকেজ.জসনের সমস্ত ডেভিনির্ভরতা ইনস্টল করা হবে, তবে আপনি যদি কোনও নতুন এনপিএম প্যাকেজ হিসাবে আপনার প্রকল্পটি প্যাকেজ করেন এবং প্রকাশ করেন, অন্য কেউ যদি আপনার প্যাকেজ এনপিএম ইনস্টল করে ইনস্টল করেন, তখন ডিভিনিডেক্সেন্সগুলি হবে না তাদের সিস্টেমে ইনস্টল করা হয়েছে। এটা কি সঠিক? @ এস্তেজহেং বা আপনি এনপিএম ইনস্টল চালাতে পারেন
rwilson04

99

(কমপক্ষে) দুই ধরণের প্যাকেজ নির্ভরতা আপনি আপনার প্যাকেজ.জসন ফাইলগুলিতে নির্দেশ করতে পারেন:

  1. আপনার মডিউলটি ব্যবহার করতে যে সমস্ত প্যাকেজগুলি প্রয়োজন সেগুলি "নির্ভরতা" বৈশিষ্ট্যের অধীনে তালিকাভুক্ত। এনপিএম ব্যবহার করে আপনি আপনার প্যাকেজটিতে এই নির্ভরতাগুলি যুক্ত করতে পারেন। জেসন ফাইলটি:

    npm install --save packageName
  2. আপনার মডিউলটি বিকাশে সহায়তা করতে প্রয়োজনীয় সেই প্যাকেজগুলি "ডিভডিপেন্ডেন্স" সম্পত্তির অধীনে তালিকাভুক্ত রয়েছে। এই প্যাকেজগুলি অন্যদের মডিউলটি ব্যবহার করার জন্য প্রয়োজনীয় নয় তবে তারা মডিউলটি বিকাশে সহায়তা করতে চাইলে এই প্যাকেজগুলির প্রয়োজন হবে। এনপিএম ব্যবহার করে আপনি এইভাবে আপনার প্যাকেজ-জেসন ফাইলে সেইগুলি নির্ভরতাগুলি যুক্ত করতে পারেন:

    npm install --save-dev packageName

35

আন্ড্রেয়াসের উত্তরে যুক্ত করতে, আপনি কেবলমাত্র নির্ভরশীলতাগুলি ব্যবহার করে ইনস্টল করতে পারেন:

npm install --production

7

জন্য npm থেকে নথিপত্র npm install <package-name> --saveএবং npm install <package-name> --save-devএখানে পাওয়া যাবে:

https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags

package.jsonআপনি যে মডিউলটি বিকাশ করছেন সে সম্পর্কে একটি ফাইল মেটাডেটা ঘোষণা করে। পূর্বোক্ত উভয় আদেশই এই package.jsonফাইলটি পরিবর্তন করে । --saveইনস্টল করা প্যাকেজটিকে (এই ক্ষেত্রে grunt) আপনার মডিউলের নির্ভরতা হিসাবে ঘোষণা করবে ; --save-devএটি আপনার মডিউলটির বিকাশের নির্ভরতা হিসাবে ঘোষণা করবে।

নিজেকে জিজ্ঞাসা করুন: ইনস্টল করা প্যাকেজটি কি আমার মডিউলটি ব্যবহারের প্রয়োজন হবে, বা এটি কেবল এটি বিকাশের জন্য প্রয়োজন হবে?


6

আপনি "- সেভ" প্যারামিটারটি ব্যবহার করার সময় আপনার নির্ভরতা প্যাকেজ.জসনে নীচে # 1 এর মধ্যে চলে যাবে। আপনি যখন "--save-dev" পরামিতিটি ব্যবহার করবেন তখন আপনার নির্ভরতা প্যাকেজ.জেসনে নীচের # 2 এর মধ্যে চলে যাবে।

# 1। "নির্ভরতা": এই প্যাকেজগুলি আপনার প্রয়োগে প্রয়োজনীয়।

# 2। "ডিভডিপেন্ডেন্সি": এই প্যাকেজগুলি কেবল উন্নয়ন এবং পরীক্ষার জন্য প্রয়োজন


5

আমার জন্য প্রথম উত্তরটি কিছুটা বিভ্রান্তিকর হিসাবে উপস্থিত হয়, তাই এটি সংক্ষিপ্ত এবং পরিষ্কার করে তোলার জন্য:

npm install <package_name>ডিফল্টরূপে নির্দিষ্ট কোনও প্যাকেজ নির্ভরতাগুলিতে সংরক্ষণ করে । অতিরিক্তভাবে, কিছু অতিরিক্ত পতাকা দিয়ে তারা কোথায় এবং কীভাবে সংরক্ষণ হবে তা আপনি নিয়ন্ত্রণ করতে পারেন:

npm install <package_name> --no-save নির্ভরতা সাশ্রয় প্রতিরোধ করে।

npm install <package_name> ---save-devdevDependenciesআপনার প্যাকেজ আপডেট । এগুলি কেবল স্থানীয় পরীক্ষা এবং উন্নয়নের জন্য ব্যবহৃত হয়।

আপনি ডিসিইউতে আরও পড়তে পারেন

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